Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1115 |
6721 d 10 h |
jermar |
/kernel/trunk/generic/src/proc/ |
Fix kcpulb() to change state of the migrated thread to Entering so that thread_ready() won't panic() on violated assertion.
Make print out of threads and tasks more dense again. |
|
/kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c
|
1114 |
6721 d 11 h |
jermar |
/uspace/trunk/libc/generic/ |
Fix futexes to correctly wake sleeping threads. |
|
/uspace/trunk/libc/generic/futex.c
|
1113 |
6721 d 12 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
|
1112 |
6721 d 12 h |
palkovsky |
/kernel/trunk/ |
Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction). |
|
/kernel/trunk/arch/amd64/include/cpu.h /kernel/trunk/arch/amd64/include/thread.h /kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/amd64/src/proc/scheduler.c /kernel/trunk/arch/ia32/include/pm.h /kernel/trunk/arch/ia32/include/thread.h /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/proc/scheduler.c /kernel/trunk/arch/ia32/src/userspace.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/syscall/syscall.c
|
1111 |
6722 d 0 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 |
6722 d 0 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
|
1109 |
6722 d 0 h |
jermar |
/kernel/trunk/ |
Basic futex. Prototype implementation. |
|
/kernel/trunk/generic/include/synch/futex.h /kernel/trunk/generic/src/synch/futex.c
/kernel/trunk/Makefile /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/syscall/syscall.c
|
1108 |
6722 d 0 h |
jermar |
/kernel/trunk/ |
Small PTE_* macros and SET_PTL0_ADDRESS macro changes. |
|
/kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/sparc64/include/mm/page.h /kernel/trunk/genarch/include/mm/page_ht.h /kernel/trunk/genarch/include/mm/page_pt.h /kernel/trunk/generic/src/mm/as.c
|
1107 |
6722 d 0 h |
jermar |
/kernel/trunk/ |
Small atomic #include and typedef changes. |
|
/kernel/trunk/arch/ia64/include/atomic.h /kernel/trunk/arch/mips32/include/atomic.h /kernel/trunk/arch/ppc32/include/atomic.h /kernel/trunk/generic/include/atomic.h /kernel/trunk/generic/include/typedefs.h
|
1106 |
6722 d 0 h |
jermar |
/kernel/trunk/arch/ |
Pass either -DCONFIG_PAGE_PT or -DCONFIG_PAGE_HT to the compiler. |
|
/kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/ppc32/Makefile.inc /kernel/trunk/arch/sparc64/Makefile.inc
|
1105 |
6722 d 0 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
|
1104 |
6722 d 5 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. |
|
/kernel/trunk/generic/include/atomic.h
/kernel/trunk/arch/amd64/include/atomic.h /kernel/trunk/arch/amd64/src/proc/scheduler.c /kernel/trunk/arch/ia32/include/atomic.h /kernel/trunk/arch/ia32/src/userspace.c /kernel/trunk/arch/ia64/include/atomic.h /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/mips32/include/atomic.h /kernel/trunk/arch/ppc32/include/atomic.h /kernel/trunk/arch/sparc64/include/atomic.h /kernel/trunk/generic/include/func.h /kernel/trunk/generic/include/mm/slab.h /kernel/trunk/generic/include/proc/scheduler.h /kernel/trunk/generic/include/synch/spinlock.h /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/console/console.c /kernel/trunk/generic/src/mm/tlb.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/spinlock.c /kernel/trunk/generic/src/time/clock.c /kernel/trunk/test/atomic/atomic1/test.c /kernel/trunk/test/debug/mips1/test.c /kernel/trunk/test/fault/fault1/test.c /kernel/trunk/test/fpu/fpu1/test.c /kernel/trunk/test/fpu/mips1/test.c /kernel/trunk/test/fpu/sse1/test.c /kernel/trunk/test/mm/falloc2/test.c /kernel/trunk/test/synch/rwlock1/test.c /kernel/trunk/test/synch/rwlock2/test.c /kernel/trunk/test/synch/rwlock3/test.c /kernel/trunk/test/synch/rwlock4/test.c /kernel/trunk/test/synch/rwlock5/test.c /kernel/trunk/test/synch/semaphore1/test.c /kernel/trunk/test/synch/semaphore2/test.c /kernel/trunk/test/thread/thread1/test.c
|
1103 |
6722 d 9 h |
jermar |
/kernel/trunk/generic/src/ |
Remove extra before_thread_runs() calls. |
|
/kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/waitq.c
|
1102 |
6723 d 0 h |
palkovsky |
/kernel/trunk/arch/ |
Keep $K1 register for use as a thread local storage pointer on MIPS. |
|
/kernel/trunk/arch/amd64/src/userspace.c /kernel/trunk/arch/mips32/include/context_offset.h /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/src/start.S
|
1101 |
6724 d 2 h |
jermar |
/kernel/trunk/ |
B+-tree implementation.
Currently supports only inserting and searching. |
|
/kernel/trunk/generic/include/adt/btree.h /kernel/trunk/generic/src/adt/btree.c /kernel/trunk/test/btree /kernel/trunk/test/btree/btree1 /kernel/trunk/test/btree/btree1/test.c
/kernel/trunk/Makefile /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/main/main.c /kernel/trunk/kernel.config
|
1100 |
6724 d 2 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. |
|
/kernel/trunk/arch/amd64/include/atomic.h /kernel/trunk/arch/amd64/include/syscall.h /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/amd64/src/syscall.c /kernel/trunk/arch/ia32/include/atomic.h /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/arch/mips32/src/start.S /kernel/trunk/generic/include/synch/spinlock.h /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/lib/func.c /kernel/trunk/generic/src/synch/spinlock.c /kernel/trunk/generic/src/syscall/syscall.c /kernel/trunk/kernel.config
|
1099 |
6724 d 2 h |
palkovsky |
/uspace/trunk/libc/arch/ia32/src/ |
Small calling convention change for ia32. |
|
/uspace/trunk/libc/arch/ia32/src/syscall.c
|
1098 |
6724 d 8 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
|
1097 |
6724 d 8 h |
palkovsky |
/kernel/trunk/arch/mips32/src/ |
Still better syscall calling convention for mips. |
|
/kernel/trunk/arch/mips32/src/start.S
|
1096 |
6724 d 9 h |
palkovsky |
/kernel/trunk/ |
Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall |
|
/kernel/trunk/arch/mips32/include/cp0.h /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/include/thread.h /kernel/trunk/arch/mips32/src/asm.S /kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/arch/mips32/src/fpu_context.c /kernel/trunk/arch/mips32/src/start.S /kernel/trunk/contrib/conf/gxemul.sh /kernel/trunk/kernel.config
|