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
1143 6666 d 4 h palkovsky /uspace/trunk/libc/ Added support for multithreading (using futexes) into malloc.  
/uspace/trunk/libc/include/futex.h
/uspace/trunk/libc/malloc/malloc.c
1129 6674 d 5 h palkovsky /uspace/trunk/ Completed support for TLS in GCC (modifier __thread) for ia32,amd64,ia64 and mips.  
/uspace/trunk/libc/arch/amd64/src/thread.c
/uspace/trunk/libc/arch/ia32/src/thread.c
/uspace/trunk/libc/arch/ia64/src/thread.c
/uspace/trunk/libc/arch/mips32/src/thread.c
/uspace/trunk/init/init.c
/uspace/trunk/libc/arch/amd64/Makefile.inc
/uspace/trunk/libc/arch/amd64/_link.ld.in
/uspace/trunk/libc/arch/amd64/include/thread.h
/uspace/trunk/libc/arch/ia32/Makefile.inc
/uspace/trunk/libc/arch/ia32/_link.ld.in
/uspace/trunk/libc/arch/ia32/include/thread.h
/uspace/trunk/libc/arch/ia64/Makefile.inc
/uspace/trunk/libc/arch/ia64/_link.ld.in
/uspace/trunk/libc/arch/ia64/include/thread.h
/uspace/trunk/libc/arch/mips32/Makefile.inc
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/arch/mips32/include/psthread.h
/uspace/trunk/libc/arch/mips32/include/thread.h
/uspace/trunk/libc/generic/libc.c
/uspace/trunk/libc/generic/psthread.c
/uspace/trunk/libc/generic/thread.c
/uspace/trunk/libc/include/psthread.h
/uspace/trunk/libc/include/thread.h
1128 6674 d 5 h jermar /uspace/trunk/ Improve comments in psthread.c
Rename pt->list to pt->link.
Rename ps_preempt() to psthread_schedule_next().
Rename ps_join() to psthread_join().
 
/uspace/trunk/init/init.c
/uspace/trunk/libc/generic/psthread.c
/uspace/trunk/libc/include/psthread.h
1127 6674 d 7 h palkovsky /uspace/trunk/ Correct dependencies creation.  
/uspace/trunk/libadt/Makefile
/uspace/trunk/libc/Makefile
/uspace/trunk/libipc/Makefile
/uspace/trunk/softfloat/Makefile
/uspace/trunk/softint/Makefile
1125 6674 d 8 h jermar /uspace/trunk/ TLS and pseudo thread support for ia64.  
/uspace/trunk/libc/arch/ia64/include/psthread.h
/uspace/trunk/libc/arch/ia64/include/stack.h
/uspace/trunk/libc/arch/ia64/include/thread.h
/uspace/trunk/libc/arch/ia64/src/psthread.S
/uspace/trunk/libc/include/align.h
/uspace/trunk/init/init.c
/uspace/trunk/libc/arch/amd64/Makefile.inc
/uspace/trunk/libc/arch/ia32/Makefile.inc
/uspace/trunk/libc/arch/ia64/Makefile.inc
/uspace/trunk/libc/generic/psthread.c
/uspace/trunk/libc/include/psthread.h
/uspace/trunk/libc/include/stdarg.h
/uspace/trunk/libc/include/stdlib.h
1123 6674 d 18 h palkovsky /uspace/trunk/libc/arch/mips32/ Changed MIPS to compile as PIC code.  
/uspace/trunk/libc/arch/mips32/Makefile.inc
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/arch/mips32/include/psthread.h
/uspace/trunk/libc/arch/mips32/src/entry.s
/uspace/trunk/libc/arch/mips32/src/psthread.S
/uspace/trunk/libc/arch/mips32/src/thread_entry.s
1120 6674 d 22 h palkovsky /uspace/trunk/libc/arch/ Added missing ia32 files.
Renamed __entry to __start in mips, which is standard in gcc standard
linking scripts.
 
/uspace/trunk/libc/arch/ia32/include/psthread.h
/uspace/trunk/libc/arch/ia32/include/thread.h
/uspace/trunk/libc/arch/ia32/src/psthread.S
/uspace/trunk/libc/arch/mips32/Makefile.inc
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/arch/mips32/include/thread.h
/uspace/trunk/libc/arch/mips32/src/entry.s
1116 6674 d 22 h jermar /uspace/trunk/libc/ Improved futexes for uspace.
Please review.
 
/uspace/trunk/libc/generic/futex.c
/uspace/trunk/libc/include/futex.h
1114 6675 d 8 h jermar /uspace/trunk/libc/generic/ Fix futexes to correctly wake sleeping threads.  
/uspace/trunk/libc/generic/futex.c
1113 6675 d 9 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.
 
/uspace/trunk/libc/arch/amd64/include/atomic.h
/uspace/trunk/libc/arch/amd64/include/context_offset.h
/uspace/trunk/libc/arch/amd64/include/psthread.h
/uspace/trunk/libc/arch/amd64/include/thread.h
/uspace/trunk/libc/arch/amd64/src/psthread.S
/uspace/trunk/libc/arch/ia32/include/atomic.h
/uspace/trunk/libc/arch/ia64/include/atomic.h
/uspace/trunk/libc/arch/mips32/include/atomic.h
/uspace/trunk/libc/arch/mips32/include/context_offset.h
/uspace/trunk/libc/arch/mips32/include/psthread.h
/uspace/trunk/libc/arch/mips32/include/thread.h
/uspace/trunk/libc/arch/mips32/src/psthread.S
/uspace/trunk/libc/generic/psthread.c
/uspace/trunk/libc/include/psthread.h
/uspace/trunk/libc/include/types.h
/uspace/trunk/libc/arch/amd64/include/atomic_arch.h
/uspace/trunk/libc/arch/ia32/include/atomic_arch.h
/uspace/trunk/libc/arch/ia64/include/atomic_arch.h
/uspace/trunk/libc/arch/mips32/include/atomic_arch.h
/uspace/trunk/Makefile
/uspace/trunk/init/init.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/Makefile.toolchain
/uspace/trunk/libc/arch/amd64/Makefile.inc
/uspace/trunk/libc/arch/amd64/src/entry.s
/uspace/trunk/libc/arch/amd64/src/thread_entry.s
/uspace/trunk/libc/arch/ia32/Makefile.inc
/uspace/trunk/libc/arch/ia32/src/entry.s
/uspace/trunk/libc/arch/ia32/src/thread_entry.s
/uspace/trunk/libc/arch/ia64/src/entry.s
/uspace/trunk/libc/arch/ia64/src/thread_entry.s
/uspace/trunk/libc/arch/mips32/Makefile.inc
/uspace/trunk/libc/arch/mips32/src/entry.s
/uspace/trunk/libc/arch/mips32/src/thread_entry.s
/uspace/trunk/libc/generic/libc.c
/uspace/trunk/libc/generic/thread.c
/uspace/trunk/libc/include/atomic.h
/uspace/trunk/libc/include/io/io.h
/uspace/trunk/libc/include/libc.h
/uspace/trunk/libc/include/stdarg.h
/uspace/trunk/libc/include/stdint.h
/uspace/trunk/libc/include/thread.h
/uspace/trunk/libc/include/unistd.h
/uspace/trunk/libc/malloc/malloc.c
1111 6675 d 21 h jermar /uspace/trunk/ Basic futex support for userspace.  
/uspace/trunk/libc/generic/futex.c
/uspace/trunk/libc/include/futex.h
/uspace/trunk/init/init.c
/uspace/trunk/libc/Makefile
1110 6675 d 21 h jermar /uspace/trunk/libc/ Port atomic operations to uspace.  
/uspace/trunk/libc/arch/amd64/include/atomic_arch.h
/uspace/trunk/libc/arch/ia32/include/atomic_arch.h
/uspace/trunk/libc/arch/ia64/include/atomic_arch.h
/uspace/trunk/libc/arch/mips32/include/atomic_arch.h
/uspace/trunk/libc/include/atomic.h
1105 6675 d 21 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).
 
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/arch/mips32/src/entry.s
/uspace/trunk/libc/arch/mips32/src/thread_entry.s
1099 6677 d 23 h palkovsky /uspace/trunk/libc/arch/ia32/src/ Small calling convention change for ia32.  
/uspace/trunk/libc/arch/ia32/src/syscall.c
1098 6678 d 5 h palkovsky /uspace/trunk/libc/arch/mips32/src/ RA is now saved by caller instead of kernel on syscall.  
/uspace/trunk/libc/arch/mips32/src/syscall.c
1095 6678 d 6 h palkovsky /uspace/trunk/libc/arch/mips32/src/ Change calling convention for MIPS.  
/uspace/trunk/libc/arch/mips32/src/syscall.c
1085 6680 d 10 h jermar /uspace/trunk/libc/arch/ia32/src/ Fix ia32 uspace threads.  
/uspace/trunk/libc/arch/ia32/src/thread_entry.s
1081 6680 d 23 h jermar /uspace/trunk/ Fix uspace threads for ia64.  
/uspace/trunk/init/init.c
/uspace/trunk/libc/generic/thread.c
1079 6681 d 1 h jermar /uspace/trunk/ Improved uspace threads (uspace).  
/uspace/trunk/libc/arch/amd64/src/thread_entry.s
/uspace/trunk/libc/arch/ia32/src/thread_entry.s
/uspace/trunk/libc/arch/ia64/src/thread_entry.s
/uspace/trunk/libc/arch/mips32/src/thread_entry.s
/uspace/trunk/init/init.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/arch/ia64/src/entry.s
/uspace/trunk/libc/generic/thread.c
/uspace/trunk/libc/include/thread.h
1073 6681 d 7 h cejka /uspace/trunk/ Userspace printf was rewritten to support standard format. Not all needed features implemented yet.  
/uspace/trunk/init/Makefile
/uspace/trunk/init/init.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/Makefile.toolchain
/uspace/trunk/libc/generic/io/print.c
/uspace/trunk/ns/Makefile
/uspace/trunk/ns/ns.c

Show All