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
1116 6660 d 6 h jermar /uspace/trunk/libc/ Improved futexes for uspace.
Please review.
 
/uspace/trunk/libc/generic/futex.c
/uspace/trunk/libc/include/futex.h
1114 6660 d 16 h jermar /uspace/trunk/libc/generic/ Fix futexes to correctly wake sleeping threads.  
/uspace/trunk/libc/generic/futex.c
1113 6660 d 17 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 6661 d 5 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 6661 d 5 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 6661 d 5 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 6663 d 7 h palkovsky /uspace/trunk/libc/arch/ia32/src/ Small calling convention change for ia32.  
/uspace/trunk/libc/arch/ia32/src/syscall.c
1098 6663 d 13 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 6663 d 14 h palkovsky /uspace/trunk/libc/arch/mips32/src/ Change calling convention for MIPS.  
/uspace/trunk/libc/arch/mips32/src/syscall.c
1085 6665 d 18 h jermar /uspace/trunk/libc/arch/ia32/src/ Fix ia32 uspace threads.  
/uspace/trunk/libc/arch/ia32/src/thread_entry.s
1081 6666 d 7 h jermar /uspace/trunk/ Fix uspace threads for ia64.  
/uspace/trunk/init/init.c
/uspace/trunk/libc/generic/thread.c
1079 6666 d 9 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 6666 d 15 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 6667 d 2 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
1049 6667 d 12 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 6667 d 15 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
1033 6668 d 3 h jermar /uspace/trunk/libc/ mmap() syscall.  
/uspace/trunk/libc/generic/mmap.c
/uspace/trunk/libc/include/unistd.h
1031 6668 d 3 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
1015 6668 d 12 h decky /uspace/trunk/libc/ make it the proper way  
/uspace/trunk/libc/Makefile
1014 6668 d 13 h palkovsky /uspace/trunk/ Init now build on library change.
Fix weird symlink.
 
/uspace/trunk/init/Makefile
/uspace/trunk/libc/Makefile
1010 6668 d 15 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
999 6669 d 3 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 6669 d 4 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
995 6669 d 6 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 6669 d 7 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 6669 d 7 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
989 6669 d 10 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
985 6669 d 11 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
978 6669 d 13 h jermar /uspace/trunk/libc/ Add mremap() syscall.  
/uspace/trunk/libc/generic/mmap.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/include/unistd.h
976 6669 d 14 h cejka /uspace/trunk/libc/arch/ Added missing uspace types definitions to non-ia32 arch.  
/uspace/trunk/libc/arch/amd64/include/types.h
/uspace/trunk/libc/arch/ia64/include/types.h
/uspace/trunk/libc/arch/mips32/include/types.h
975 6669 d 15 h cejka /uspace/trunk/libc/generic/io/ Uspace printf bug repaired.  
/uspace/trunk/libc/generic/io/print.c
974 6669 d 15 h cejka /uspace/trunk/libc/ Userspace printf, stdarg, and some other printf support.  
/uspace/trunk/libc/generic/io
/uspace/trunk/libc/generic/io/io.c
/uspace/trunk/libc/generic/io/print.c
/uspace/trunk/libc/include/io
/uspace/trunk/libc/include/io/io.h
/uspace/trunk/libc/include/stdarg.h
/uspace/trunk/libc/include/stddef.h
/uspace/trunk/libc/generic/io.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/arch/ia32/include/types.h
/uspace/trunk/libc/include/stdio.h
968 6669 d 17 h palkovsky /uspace/trunk/libc/ Added public domain malloc
Allowed including arch/mm/page.h to have getpagesize().
 
/uspace/trunk/libc/include/malloc.h
/uspace/trunk/libc/malloc
/uspace/trunk/libc/malloc/malloc.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/include/libc.h
961 6670 d 6 h jermar /uspace/trunk/libc/arch/ia64/src/ ia64 support for __SYSCALL4.  
/uspace/trunk/libc/arch/ia64/src/syscall.S
960 6670 d 6 h palkovsky /uspace/trunk/ New IPC synchronous call.
Widened syscall to support up to 5 parameters.
 
/uspace/trunk/init/init.c
/uspace/trunk/libc/arch/ia32/src/syscall.c
/uspace/trunk/libc/arch/mips32/src/syscall.c
/uspace/trunk/libc/include/libc.h
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include/ipc.h
954 6670 d 8 h palkovsky /uspace/trunk/ Added very basic IPC userspace stuff.  
/uspace/trunk/libipc
/uspace/trunk/libipc/Makefile
/uspace/trunk/libipc/generic
/uspace/trunk/libipc/generic/ipc.c
/uspace/trunk/libipc/include
/uspace/trunk/libipc/include/ipc.h
/uspace/trunk/Makefile
/uspace/trunk/init/Makefile
/uspace/trunk/init/init.c
/uspace/trunk/libc/Makefile
/uspace/trunk/libc/arch/mips32/src/syscall.c
/uspace/trunk/libc/generic/io.c
/uspace/trunk/libc/include/libc.h
/uspace/trunk/uspace.config
948 6670 d 15 h jermar /uspace/trunk/libc/arch/ Unify init linker scripts to contain two properly aligned and properly flagged segments.  
/uspace/trunk/libc/arch/amd64/Makefile.inc
/uspace/trunk/libc/arch/amd64/_link.ld.in
/uspace/trunk/libc/arch/amd64/src/entry.s
/uspace/trunk/libc/arch/ia32/Makefile.inc
/uspace/trunk/libc/arch/ia32/_link.ld.in
/uspace/trunk/libc/arch/ia32/src/entry.s
/uspace/trunk/libc/arch/ia64/_link.ld.in
/uspace/trunk/libc/arch/ia64/src/entry.s
/uspace/trunk/libc/arch/mips32/_link.ld.in
943 6671 d 7 h palkovsky /uspace/trunk/libc/arch/mips32/ Fixed mips alignment support.  
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/arch/mips32/src/entry.s
937 6671 d 9 h jermar /uspace/trunk/libc/arch/ Switch uspace to ELF init.  
/uspace/trunk/libc/arch/amd64/_link.ld.in
/uspace/trunk/libc/arch/ia32/_link.ld.in
/uspace/trunk/libc/arch/mips32/Makefile.inc
/uspace/trunk/libc/arch/mips32/_link.ld.in
/uspace/trunk/libc/arch/mips32eb/Makefile.inc
920 6674 d 10 h jermar /uspace/trunk/libc/arch/ia64/ Rewrite syscall wrapper in assembly.  
/uspace/trunk/libc/arch/ia64/src/syscall.S
/uspace/trunk/libc/arch/ia64/src/syscall.c
/uspace/trunk/libc/arch/ia64/Makefile.inc