Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
1113 6668 d 4 h palkovsky /uspace/trunk/ Added symbolic links 'libarch','libadt','libipc' into libc/include,
so that it can be easily used from anywhere.
Renamed thread_main to __thread_main.
Allowed MIPS to compile with -O0.
Added non-preemptible threads support (not yet secured by futexes).
Added simple way to hold Thread Local Storage. Support for compiler
will be added later.
This update breaks IA64 uspace.

There is some forgotten spinlock_lock() in futexes, amd64 gets locked
in the secod uspace thread probably with preemption disabled.
 
1112 6668 d 4 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1111 6668 d 16 h jermar /uspace/trunk/ Basic futex support for userspace.  
1110 6668 d 16 h jermar /uspace/trunk/libc/ Port atomic operations to uspace.  
1109 6668 d 16 h jermar /kernel/trunk/ Basic futex. Prototype implementation.  
1108 6668 d 16 h jermar /kernel/trunk/ Small PTE_* macros and SET_PTL0_ADDRESS macro changes.  
1107 6668 d 16 h jermar /kernel/trunk/ Small atomic #include and typedef changes.  
1106 6668 d 16 h jermar /kernel/trunk/arch/ Pass either -DCONFIG_PAGE_PT or -DCONFIG_PAGE_HT to the compiler.  
1105 6668 d 16 h jermar /uspace/trunk/libc/arch/mips32/ Fix mips32 linker script.
Add .scommon input section.
Add .got section and define _gp symbol.
Use this symbol to initialize gp register (r28).
 
1104 6668 d 21 h jermar /kernel/trunk/ Define atomic_t only once in atomic.h
Change the encapsulated counter type to long so that it supports negative values as well.
 
1103 6669 d 2 h jermar /kernel/trunk/generic/src/ Remove extra before_thread_runs() calls.  
1102 6669 d 16 h palkovsky /kernel/trunk/arch/ Keep $K1 register for use as a thread local storage pointer on MIPS.  
1101 6670 d 18 h jermar /kernel/trunk/ B+-tree implementation.
Currently supports only inserting and searching.
 
1100 6670 d 18 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.
 
1099 6670 d 18 h palkovsky /uspace/trunk/libc/arch/ia32/src/ Small calling convention change for ia32.  
1098 6671 d 1 h palkovsky /uspace/trunk/libc/arch/mips32/src/ RA is now saved by caller instead of kernel on syscall.  
1097 6671 d 1 h palkovsky /kernel/trunk/arch/mips32/src/ Still better syscall calling convention for mips.  
1096 6671 d 1 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
1095 6671 d 1 h palkovsky /uspace/trunk/libc/arch/mips32/src/ Change calling convention for MIPS.  
1094 6671 d 4 h palkovsky /kernel/trunk/ Allowed saving less registers.  
1093 6671 d 17 h palkovsky /kernel/trunk/generic/src/mm/ Fix bug with refcounts in frame allocator after zone_merge. (it caused some
frames not to be coalesced).
 
1092 6671 d 18 h palkovsky /uspace/trunk/libipc/generic/ Fixed bad typing on 64-bit platform.  
1091 6671 d 19 h palkovsky /uspace/trunk/ Adapt userspace API to conform to kernel api.  
1090 6671 d 19 h palkovsky /kernel/trunk/generic/ Reduced unnecessary IPC system calls.
Allow everything to be sync & async, everything is handled using messages.
 
1089 6672 d 2 h palkovsky /uspace/trunk/ More IPC added syscall for hangup and some tests.  
1088 6672 d 2 h palkovsky /kernel/trunk/generic/ More IPC stuff, added correct closing of connections from both sides.  
1087 6672 d 4 h palkovsky /kernel/trunk/arch/mips32/include/mm/ Fix MIPS32 bad paging index computation. Fixed random page faults on mips.  
1086 6672 d 15 h palkovsky /kernel/trunk/generic/ Untested better IPC functions.
* There is some bug in MIPS, unpredicatbly sometimes the thread gets mapped
different frame for stack.
 
1085 6673 d 5 h jermar /uspace/trunk/libc/arch/ia32/src/ Fix ia32 uspace threads.  
1084 6673 d 13 h palkovsky /kernel/trunk/ Better IPC implementation with regard to locking and final cleanup.  
1083 6673 d 15 h palkovsky /kernel/trunk/generic/src/ Fixed incorrect locking in ipc.  
1082 6673 d 18 h jermar /kernel/trunk/arch/sparc64/include/ Fix atomic_postdec() operation.  
1081 6673 d 18 h jermar /uspace/trunk/ Fix uspace threads for ia64.  
1080 6673 d 20 h jermar /kernel/trunk/arch/ia64/src/mm/ Fix double page_table_unlock() in ia64 tlb.c.  
1079 6673 d 20 h jermar /uspace/trunk/ Improved uspace threads (uspace).  
1078 6673 d 20 h jermar /kernel/trunk/ Improved uspace threads.
ia64 needs fixing.
 
1077 6674 d 1 h palkovsky /kernel/trunk/ Modified debugger to be able to coexist in AS watch mode and SMP.  
1076 6674 d 1 h jermar /kernel/trunk/generic/src/mm/ Unlock address space area when returning error.  
1075 6674 d 2 h decky /boot/trunk/arch/ppc32/loader/ relocate boot loader structures if needed
(allowing to boot on stupid OFW implementations)
 
1074 6674 d 2 h palkovsky /kernel/trunk/ Ported AMD64 debugger to ia32 and enabled AS watchpoint to ia32 as well.