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
1119 6688 d 13 h palkovsky /kernel/trunk/arch/ Fixed bad rflags masking in amd64.
Added TLS get address instruction emulation for mips.
 
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/mips32/src/exception.c
1112 6688 d 23 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
/kernel/trunk/arch/amd64/include/cpu.h
/kernel/trunk/arch/amd64/include/thread.h
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/ia32/include/pm.h
/kernel/trunk/arch/ia32/include/thread.h
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia32/src/pm.c
/kernel/trunk/arch/ia32/src/proc/scheduler.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/syscall/syscall.c
1102 6690 d 11 h palkovsky /kernel/trunk/arch/ Keep $K1 register for use as a thread local storage pointer on MIPS.  
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/mips32/include/context_offset.h
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/src/start.S
1100 6691 d 13 h palkovsky /kernel/trunk/ Cleanup of spinlocks, now compiles both ia32 and amd64 with
and without DEBUG_SPINLOCKS. Made spinlocks inline.
Moved syscall_handler to generic (it was identical for ia32,amd64 & mips32).
Made slightly faster syscall for ia32.
Made better interrupt routines for ia32.
Allow not saving non-scratch registers during interrupt on ia32,amd64,mips32.
Aligned interrupt handlers on ia32,amd64, this should prevent problems
with different instruction lengths.
 
/kernel/trunk/arch/amd64/include/atomic.h
/kernel/trunk/arch/amd64/include/syscall.h
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/src/asm.S
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/start.S
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/synch/spinlock.c
/kernel/trunk/generic/src/syscall/syscall.c
/kernel/trunk/kernel.config
1097 6691 d 20 h palkovsky /kernel/trunk/arch/mips32/src/ Still better syscall calling convention for mips.  
/kernel/trunk/arch/mips32/src/start.S
1096 6691 d 20 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
/kernel/trunk/arch/mips32/include/cp0.h
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/include/thread.h
/kernel/trunk/arch/mips32/src/asm.S
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/fpu_context.c
/kernel/trunk/arch/mips32/src/start.S
/kernel/trunk/contrib/conf/gxemul.sh
/kernel/trunk/kernel.config
1094 6691 d 23 h palkovsky /kernel/trunk/ Allowed saving less registers.  
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/mips32/src/start.S
/kernel/trunk/kernel.config
1078 6694 d 16 h jermar /kernel/trunk/ Improved uspace threads.
ia64 needs fixing.
 
/kernel/trunk/generic/include/proc/uarg.h
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/ia64/include/asm.h
/kernel/trunk/arch/ia64/include/faddr.h
/kernel/trunk/arch/ia64/src/asm.S
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/mips32/include/asm.h
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/start.S
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/main/uinit.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
1066 6695 d 8 h jermar /kernel/trunk/ Support for user space threads.  
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/include/fpu_context.h
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/include/userspace.h
/kernel/trunk/generic/src/main/uinit.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/syscall/syscall.c
1044 6695 d 21 h jermar /kernel/trunk/ Page table locking.  
/kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/as_pt.c
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/page.c
1037 6695 d 22 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
/kernel/trunk/arch/amd64/src/boot/boot.S
/kernel/trunk/arch/ia32/src/boot/boot.S
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/include/config.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.c
983 6697 d 19 h palkovsky /kernel/trunk/ Fixed shrinking of as area.  
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/generic/src/mm/as.c
959 6698 d 13 h palkovsky /kernel/trunk/ New synchronous ipc.
Widened syscall to support up to 5 parameters.
 
/kernel/trunk/arch/amd64/include/syscall.h
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/syscall/syscall.c
958 6698 d 14 h jermar /kernel/trunk/ Nicer ia32 interrupt handlers and structures holding interrupted context data.
Unify the name holding interrupted context data on all architectures to be istate.
 
/kernel/trunk/arch/amd64/include/context.h
/kernel/trunk/arch/amd64/include/interrupt.h
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/include/types.h
/kernel/trunk/arch/ia32/src/asm.S
/kernel/trunk/arch/ia32/src/drivers/i8254.c
/kernel/trunk/arch/ia32/src/drivers/i8259.c
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/ia32/src/pm.c
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/arch/ia64/include/interrupt.h
/kernel/trunk/arch/ia64/include/mm/tlb.h
/kernel/trunk/arch/ia64/include/types.h
/kernel/trunk/arch/ia64/src/interrupt.c
/kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/mips32/include/debugger.h
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/include/mm/tlb.h
/kernel/trunk/arch/mips32/include/thread.h
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/drivers/msim.c
/kernel/trunk/arch/mips32/src/drivers/serial.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/fpu_context.c
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/arch/sparc64/include/drivers/tick.h
/kernel/trunk/arch/sparc64/src/drivers/tick.c
/kernel/trunk/genarch/src/i8042/i8042.c
/kernel/trunk/generic/include/interrupt.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/interrupt/interrupt.c
955 6698 d 14 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
/kernel/trunk/generic/include/errno.h
/kernel/trunk/generic/include/ipc
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/src/ipc
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/include/types.h
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/ia32/include/types.h
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia64/include/types.h
/kernel/trunk/arch/mips32/include/types.h
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/sparc64/include/types.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/syscall/syscall.c
938 6699 d 16 h jermar /kernel/trunk/ Basic support for loading ELF object files.
ia64, amd64, ia32 working.
mips32 requires some attention.
 
/kernel/trunk/generic/src/lib/elf.c
/kernel/trunk/generic/include/elf32.h
/kernel/trunk/generic/include/elf64.h
/kernel/trunk/generic/src/lib/elf32.c
/kernel/trunk/generic/src/lib/elf64.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/Makefile.inc
/kernel/trunk/arch/amd64/_link.ld.in
/kernel/trunk/arch/amd64/include/elf.h
/kernel/trunk/arch/amd64/include/types.h
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/Makefile.inc
/kernel/trunk/arch/ia32/include/elf.h
/kernel/trunk/arch/ia32/include/types.h
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/ia64/Makefile.inc
/kernel/trunk/arch/ia64/include/elf.h
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/include/elf.h
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/ppc32/Makefile.inc
/kernel/trunk/arch/ppc32/include/elf.h
/kernel/trunk/arch/ppc32/include/types.h
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/elf.h
/kernel/trunk/contrib/conf/msim.conf
/kernel/trunk/contrib/conf/ski.conf
/kernel/trunk/contrib/conf/spmips.conf
/kernel/trunk/generic/include/elf.h
/kernel/trunk/generic/include/userspace.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/uinit.c
924 6700 d 1 h palkovsky /kernel/trunk/arch/mips32/ Macro redefinition for mips fpu.  
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/include/fpu_context.h
/kernel/trunk/arch/mips32/src/asm.S
/kernel/trunk/arch/mips32/src/fpu_context.c
906 6709 d 10 h palkovsky /kernel/trunk/ Added lazy fpu context allocation.
- threads that don't use fpu, don't get allocated fpu context
- fpu context alignment on AMD64 nicely disappeared
 
/kernel/trunk/arch/amd64/src/fpu_context.c
/kernel/trunk/arch/ia32/include/fpu_context.h
/kernel/trunk/arch/ia32/src/fpu_context.c
/kernel/trunk/arch/mips32/include/fpu_context.h
/kernel/trunk/arch/mips32/src/fpu_context.c
/kernel/trunk/generic/include/fpu_context.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
897 6712 d 10 h jermar /kernel/trunk/ sparc64 work.
Fix KBD_VIRT_ADDRESS.
Call before_thread_runs() prior to the switch to the thread's stack. Add comment why this is crucial.
Add after_thread_ran() to the scheduler.
Add before_thread_runs_arch() and after_thread_ran_arch() for sparc64, mapping/demapping thread's kernel stack.
Add dummy after_thread_ran_arch() to all other architectures.
Add dtlb_insert_mapping() to promote code reuse.
 
/kernel/trunk/arch/sparc64/src/proc
/kernel/trunk/arch/sparc64/src/proc/scheduler.c
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/ia32/src/proc/scheduler.c
/kernel/trunk/arch/ia64/src/dummy.s
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/ppc32/src/dummy.s
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/drivers/i8042.h
/kernel/trunk/arch/sparc64/include/mm/tlb.h
/kernel/trunk/arch/sparc64/include/trap/exception.h
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap/exception.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/src/proc/scheduler.c
853 6721 d 18 h palkovsky /kernel/trunk/arch/mips32/ Some arc bios tweaks. Wanted to print configuration data, but
the ARC seems to return strange values.
Newport graphics card does not seem to be easy to port, give up now.
 
/kernel/trunk/arch/mips32/include/drivers/arc.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/mips32.c

Show All