Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2481 6197 d 20 h jermar /trunk/uspace/lib/libc/ 1. Implement simple joining of pseudo threads. Only one pseudo thread is allowed to join another pseudo
thread. The restriction is that both pseudo threads must be from the same thread (this is to simplify
synchronization). The joiner doesn't free anything from the joinee. It only gets its return value. Not
tested thoroughly yet.

2. Cleanup of a dead pseudo thread is done by the next scheduled pseudo thread. Not tested thoroughly yet.
 
2479 6202 d 6 h jermar /trunk/ New, better-structured, directory layout for uspace.  
2071 6358 d 23 h jermar /trunk/ (c) versus (C)  
1868 6493 d 4 h jermar /trunk/ sparc64 work.
- the syscall wrapper needs to use the "memory"
clobber specifier to prevent over-optimization.
- on sparc64, the user address space spans the whole
64-bit space and therefore the macro
USER_ADDRESS_SPACE_SIZE_ARCH, as it was defined,
overflows to 0
- stop using USER_ADDRESS_SPACE_SIZE_ARCH and define
MAX_HEAP_SIZE instead
- in our situation when kernel and user address spaces
are separate, the G (global) bit cannot be used
(there is no point in it anymore)
- add the DEBUG() macro to stdio.h; DEBUG() uses
SYS_IO and is a good debugging tool for getting
early userspace to work
 
1866 6493 d 23 h jermar /trunk/uspace/ Indentation and formatting facelift for libc.
Libc headers now have C99 compliant guards.
 
1787 6549 d 1 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1781 6556 d 2 h jermar /uspace/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1720 6573 d 22 h palkovsky /uspace/trunk/ Some cleanups. Martin...try make clean;make...  
1719 6573 d 22 h decky /uspace/trunk/ big code cleanup, compile with -Wall -Werror to enforce better coding
there is currently one warning that requires attention, please review
 
1709 6574 d 7 h jermar /uspace/trunk/ Fix some broken doxygen comments.  
1653 6583 d 0 h cejka /uspace/trunk/ Doxygen comments.  
1614 6584 d 3 h palkovsky /uspace/trunk/libc/generic/ Fixed bad TLS BSS initialization.  
1610 6584 d 4 h palkovsky /uspace/trunk/ Revised ipc. Now it is preferrable to use only functions from async.h, they
take care of correct buffering, waiting for answers etc.
 
1427 6593 d 21 h palkovsky /uspace/trunk/ Added functions to async framework for reasonable sending asynchronous
messages.
 
1407 6598 d 8 h palkovsky /uspace/trunk/libc/ Small updates to asynchronous framework.  
1392 6600 d 0 h palkovsky /uspace/trunk/ Merged libadt into libc.
Made lot of psthread and thread stuff thread-safe.
Added new driver framework for easy C connection programming.
Changed FB code to use new API.
 
1155 6642 d 7 h vana /uspace/trunk/libc/ psthread RSE support  
1129 6658 d 5 h palkovsky /uspace/trunk/ Completed support for TLS in GCC (modifier __thread) for ia32,amd64,ia64 and mips.  
1128 6658 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().
 
1125 6658 d 8 h jermar /uspace/trunk/ TLS and pseudo thread support for ia64.  
1113 6659 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.