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
1116 6675 d 5 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 15 h jermar /uspace/trunk/libc/generic/ Fix futexes to correctly wake sleeping threads.  
/uspace/trunk/libc/generic/futex.c
1113 6675 d 15 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 6676 d 3 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 6676 d 3 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 6676 d 4 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 6678 d 6 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 12 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 12 h palkovsky /uspace/trunk/libc/arch/mips32/src/ Change calling convention for MIPS.  
/uspace/trunk/libc/arch/mips32/src/syscall.c
1092 6679 d 6 h palkovsky /uspace/trunk/libipc/generic/ Fixed bad typing on 64-bit platform.  
/uspace/trunk/libipc/generic/ipc.c
1091 6679 d 6 h palkovsky /uspace/trunk/ Adapt userspace API to conform to kernel api.  
/uspace/trunk/init/init.c
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
/uspace/trunk/ns/ns.c
1089 6679 d 13 h palkovsky /uspace/trunk/ More IPC added syscall for hangup and some tests.  
/uspace/trunk/init/init.c
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
/uspace/trunk/libipc/include/ns.h
/uspace/trunk/ns/ns.c
1085 6680 d 17 h jermar /uspace/trunk/libc/arch/ia32/src/ Fix ia32 uspace threads.  
/uspace/trunk/libc/arch/ia32/src/thread_entry.s
1081 6681 d 6 h jermar /uspace/trunk/ Fix uspace threads for ia64.  
/uspace/trunk/init/init.c
/uspace/trunk/libc/generic/thread.c
1079 6681 d 8 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 14 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
1065 6682 d 0 h jermar /uspace/trunk/ Support for uspace threads.  
/uspace/trunk/libc/generic/thread.c
/uspace/trunk/libc/include/thread.h
/uspace/trunk/init/init.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/generic/libc.c
1061 6682 d 5 h palkovsky /uspace/trunk/ Added support for ipc_connect_me_to.  
/uspace/trunk/init/init.c
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
/uspace/trunk/ns/ns.c
1049 6682 d 11 h cejka /uspace/trunk/ New improved version of stackargs va_start and va_arg macros for mips32.  
/uspace/trunk/init/init.c
/uspace/trunk/libc/arch/mips32/include/stackarg.h
1043 6682 d 13 h jermar /uspace/trunk/libc/arch/ia64/ Fix _gp to point to the beginning of .got section in ia64 linker script.  
/uspace/trunk/libc/arch/ia64/_link.ld.in
1035 6682 d 15 h cejka /uspace/trunk/softfloat/generic/ Softfloat warnings fixed.  
/uspace/trunk/softfloat/generic/comparison.c
/uspace/trunk/softfloat/generic/conversion.c
/uspace/trunk/softfloat/generic/softfloat.c
1033 6683 d 1 h jermar /uspace/trunk/libc/ mmap() syscall.  
/uspace/trunk/libc/generic/mmap.c
/uspace/trunk/libc/include/unistd.h
1031 6683 d 1 h cejka /uspace/trunk/ SoftFloat integrated into HelenOS uspace.  
/uspace/trunk/libc/include/endian.h
/uspace/trunk/libc/include/stdint.h
/uspace/trunk/softfloat/arch/amd64/include
/uspace/trunk/softfloat/arch/amd64/include/functions.h
/uspace/trunk/softfloat/arch/ia64/include
/uspace/trunk/softfloat/arch/ia64/include/functions.h
/uspace/trunk/softfloat/arch/mips32/include
/uspace/trunk/softfloat/arch/mips32/include/functions.h
/uspace/trunk/softfloat/arch/mips32eb/include
/uspace/trunk/softfloat/arch/mips32eb/include/functions.h
/uspace/trunk/softfloat/arch/ppc32/include
/uspace/trunk/softfloat/arch/ppc32/include/functions.h
/uspace/trunk/softfloat/arch/sparc64/include
/uspace/trunk/softfloat/arch/sparc64/include/functions.h
/uspace/trunk/softfloat/arch/ia32/include/arch.h
/uspace/trunk/softfloat/arch/ia32/include/types.h
/uspace/trunk/softint/Makefile.toolchain
/uspace/trunk/softfloat/Makefile
/uspace/trunk/softfloat/arch/ia32/include/functions.h
/uspace/trunk/softfloat/generic/add.c
/uspace/trunk/softfloat/generic/common.c
/uspace/trunk/softfloat/generic/conversion.c
/uspace/trunk/softfloat/generic/div.c
/uspace/trunk/softfloat/generic/mul.c
/uspace/trunk/softfloat/generic/softfloat.c
/uspace/trunk/softfloat/generic/sub.c
/uspace/trunk/softfloat/include/common.h
/uspace/trunk/softfloat/include/conversion.h
/uspace/trunk/softfloat/include/div.h
/uspace/trunk/softfloat/include/mul.h
/uspace/trunk/softfloat/include/sftypes.h
/uspace/trunk/softfloat/include/softfloat.h
/uspace/trunk/softint/Makefile
1030 6683 d 1 h palkovsky /uspace/trunk/ns/ Added missing file.  
/uspace/trunk/ns/ns.c
1028 6683 d 1 h palkovsky /uspace/trunk/ Added simple testing skeleton for nameservice.
Added support for ipc_connect_to_me, some fixes.
 
/uspace/trunk/ns
/uspace/trunk/ns/Makefile
/uspace/trunk/Makefile
/uspace/trunk/init/init.c
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
/uspace/trunk/libipc/include/ns.h
1015 6683 d 11 h decky /uspace/trunk/libc/ make it the proper way  
/uspace/trunk/libc/Makefile
1014 6683 d 12 h palkovsky /uspace/trunk/ Init now build on library change.
Fix weird symlink.
 
/uspace/trunk/init/Makefile
/uspace/trunk/libc/Makefile
1013 6683 d 13 h palkovsky /uspace/trunk/ Allow correct rebuilding based on boot architecture.  
/uspace/trunk/Makefile
1010 6683 d 13 h cejka /uspace/trunk/libc/ Fixed problem with stackarg/stdarg for 64-bit platforms.  
/uspace/trunk/libc/arch/amd64/include/stackarg.h
/uspace/trunk/libc/arch/ia32/include/stackarg.h
/uspace/trunk/libc/arch/ia64/include/stackarg.h
/uspace/trunk/libc/arch/mips32/include/stackarg.h
/uspace/trunk/libc/generic/io/io.c
/uspace/trunk/libc/generic/io/print.c
/uspace/trunk/libc/include/stdarg.h
1006 6683 d 14 h palkovsky /uspace/trunk/libipc/ Added support for taskid source identification.  
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
999 6684 d 2 h palkovsky /uspace/trunk/ Completed asynchronous IPC.
Fixed sbrk.
Cleared some unnecessary defines in malloc.
Changed __u8 * to char * in list.
 
/uspace/trunk/libc/generic/string.c
/uspace/trunk/init/Makefile
/uspace/trunk/init/init.c
/uspace/trunk/libadt/include/list.h
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/generic/mmap.c
/uspace/trunk/libc/include/string.h
/uspace/trunk/libc/malloc/malloc.c
/uspace/trunk/libipc/Makefile
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
997 6684 d 3 h cejka /uspace/trunk/ Hash_table conversion done.
Simple assert function converted from kernel.
 
/uspace/trunk/libc/include/assert.h
/uspace/trunk/libadt/Makefile
/uspace/trunk/libadt/generic/hash_table.c
/uspace/trunk/libadt/include/hash_table.h
996 6684 d 4 h cejka /uspace/trunk/ List from LibAdt converted to userspace.
Hash_table not converted yet.
 
/uspace/trunk/libadt
/uspace/trunk/libadt/Makefile
/uspace/trunk/libadt/generic
/uspace/trunk/libadt/generic/hash_table.c
/uspace/trunk/libadt/generic/list.c
/uspace/trunk/libadt/include
/uspace/trunk/libadt/include/fifo.h
/uspace/trunk/libadt/include/hash_table.h
/uspace/trunk/libadt/include/list.h
/uspace/trunk/Makefile
995 6684 d 5 h cejka /uspace/trunk/ Fixed bug in printf (__native from kernel must be unsigned long).
Putting prefixes in printf optimized.
Test function created in init.c.
 
/uspace/trunk/init/init.c
/uspace/trunk/libc/generic/io/print.c
994 6684 d 5 h jermar /uspace/trunk/ Integrate softint.a into ia64 building process.  
/uspace/trunk/Makefile
/uspace/trunk/init/Makefile
/uspace/trunk/init/init.c
/uspace/trunk/libc/arch/ia64/Makefile.inc
/uspace/trunk/softint/Makefile
992 6684 d 6 h jermar /uspace/trunk/libc/ Add -N to ia64 libc/Makefile.  
/uspace/trunk/libc/arch/ia64/Makefile.inc
/uspace/trunk/libc/generic/io/print.c
991 6684 d 6 h cejka /uspace/trunk/ SoftInt ported to userspace.  
/uspace/trunk/softint
/uspace/trunk/softint/Makefile
/uspace/trunk/softint/Makefile.toolchain
/uspace/trunk/softint/generic
/uspace/trunk/softint/generic/division.c
/uspace/trunk/softint/include
/uspace/trunk/softint/include/division.h
/uspace/trunk/Makefile
989 6684 d 9 h palkovsky /uspace/trunk/libc/arch/ Correct size_t for 64-bit platforms.  
/uspace/trunk/libc/arch/amd64/include/types.h
/uspace/trunk/libc/arch/ia64/include/types.h
988 6684 d 9 h palkovsky /uspace/trunk/init/ Basic testing in init.c  
/uspace/trunk/init/init.c
985 6684 d 9 h palkovsky /uspace/trunk/libc/ Added malloc implementation.  
/uspace/trunk/libc/include/errno.h
/uspace/trunk/libc/include/stdlib.h
/uspace/trunk/libc/include/string.h
/uspace/trunk/libc/include/sys
/uspace/trunk/libc/include/sys/types.h
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/arch/amd64/_link.ld.in
/uspace/trunk/libc/arch/ia32/_link.ld.in
/uspace/trunk/libc/arch/ia64/_link.ld.in
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/generic/mmap.c
/uspace/trunk/libc/include/malloc.h
/uspace/trunk/libc/include/stdio.h
/uspace/trunk/libc/include/unistd.h
/uspace/trunk/libc/malloc/malloc.c