Rev |
Age |
Author |
Path |
Log message |
Diff |
4055 |
5726 d 8 h |
trochtova |
/branches/dd/ |
changes in trunk (rev 4054) merged into dd branch |
|
3022 |
6009 d 10 h |
decky |
/branches/dd/ |
device drivers branch |
|
2504 |
6314 d 2 h |
jermar |
/trunk/kernel/generic/ |
Give the AVL tree walkers the possibility to take an argument.
Each walker is now supposed to return a bool value to support walk termination.
Switch over from the tasks_btree B+tree to tasks_tree AVL tree.
This makes the fix for ticket #48 complete. |
|
2446 |
6372 d 5 h |
jermar |
/trunk/kernel/generic/ |
More efficient and simpler task termination.
Based on the assumption, that after its creation, only the task itself can create more threads for itself,
the last thread with userspace context to execute thread_exit() will perform futex and IPC cleanup. When
the task has no threads, it is destroyed. Both the cleanup and destruction is controlled by reference
counting.
As for userspace threads, even though there could be a global garbage collector for joining threads, it is
much simpler if the uinit thread detaches itself before switching to userspace.
task_kill() is now an idempotent operation. It just instructs the threads within a task to exit.
Change in the name of a thread state: Undead -> JoinMe. |
|
2227 |
6425 d 15 h |
decky |
/trunk/kernel/ |
start shutdown infrastructure |
|
2216 |
6427 d 1 h |
decky |
/trunk/ |
make thread ID 64 bit (task ID is 64 bit already)
cleanup thread syscalls |
|
2106 |
6490 d 7 h |
jermar |
/trunk/kernel/ |
Merge as_t structure into one and leave the differring parts in as_genarch_t.
Indentation and formatting changes in header files. |
|
2105 |
6494 d 8 h |
decky |
/trunk/kernel/ |
move ipc structures to ipc.h |
|
2103 |
6495 d 1 h |
decky |
/trunk/kernel/generic/include/ |
move timeout_t to timeout.h
move other helper types to thread.h |
|
2096 |
6495 d 3 h |
decky |
/trunk/kernel/generic/include/ |
move thread_t to thread.h |
|
2093 |
6495 d 4 h |
decky |
/trunk/kernel/ |
spinlock extern declaration macro |
|
2092 |
6495 d 5 h |
decky |
/trunk/kernel/generic/include/ |
move cpu_t to cpu.h |
|
2090 |
6496 d 4 h |
decky |
/trunk/kernel/generic/include/proc/ |
cleanup garbage |
|
2089 |
6496 d 7 h |
decky |
/trunk/ |
huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes |
|
2071 |
6507 d 0 h |
jermar |
/trunk/ |
(c) versus (C) |
|
2039 |
6541 d 8 h |
decky |
/trunk/kernel/generic/ |
accumulate task accounting, run tests as separate kernel task |
|
1888 |
6632 d 4 h |
jermar |
/trunk/ |
C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64. |
|
1820 |
6679 d 21 h |
decky |
/trunk/kernel/generic/ |
initial security context support |
|
1787 |
6697 d 2 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1780 |
6704 d 4 h |
jermar |
/kernel/trunk/ |
Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.). |
|
1702 |
6725 d 6 h |
cejka |
/kernel/trunk/ |
Kernel doxygen comments updated. |
|
1587 |
6733 d 3 h |
jermar |
/kernel/trunk/ |
task_destroy() implementation, fixes in as_destroy() and task_kill().
This is the first version of HelenOS that would perform complete cleanup leading from thread to destruction of address space. |
|
1585 |
6733 d 7 h |
jermar |
/kernel/trunk/generic/ |
Kill task when its main thread exits. |
|
1583 |
6733 d 10 h |
jermar |
/kernel/trunk/generic/ |
Make ktaskclnp call ipc_cleanup and futex_cleanup. |
|
1579 |
6733 d 23 h |
jermar |
/kernel/trunk/generic/ |
Framework for task_kill().
Some pieces (e.g. implementation of ktask_cleanup() kernel thread and
task_destroy() function) are missing.
Changed locking order for task lock, threads_lock and thread lock from
threads_lock, thread lock, task lock to task lock, threads_lock, thread lock. |
|
1568 |
6734 d 5 h |
palkovsky |
/kernel/trunk/generic/ |
Slightly remodelled ipc hangups to facilitate correct cleanup.
Doc updates for frame allocator. |
|
1468 |
6738 d 4 h |
jermar |
/kernel/trunk/ |
Function for destroying address space for which there is no other reference in the kernel. |
|
1460 |
6738 d 8 h |
jermar |
/kernel/trunk/generic/ |
Reference counting for futexes. |
|
1358 |
6753 d 4 h |
jermar |
/kernel/trunk/generic/ |
Cleanup after removal of as_area_accept and as_area_send. |
|
1235 |
6773 d 9 h |
jermar |
/kernel/trunk/generic/ |
Implementation of SYS_AS_AREA_ACCEPT and SYS_AS_AREA_SEND syscalls.
Note that these replace previously declared SYS_AS_AREA_SHARE_APPROVE
and SYS_AS_AREA_SHARE_PERFORM. |
|
1227 |
6776 d 5 h |
jermar |
/kernel/trunk/ |
Reorganize syscall names to better correspond to kernel architecture.
Add dummy placeholders for SYS_AS_AREA_SHARE_APPROVE and
SYS_AS_AREA_SHARE_PERFORM syscalls. |
|
1187 |
6786 d 3 h |
jermar |
/kernel/trunk/ |
Cleanup pm.c and pm.h code on ia32 and amd64.
Add before_task_runs() and before_task_runs_arch() for each architecture.
Add ia32 and amd64 code to ensure I/O Permission Bitmap update. |
|
1185 |
6786 d 6 h |
jermar |
/kernel/trunk/ |
Add task_create_arch() for all architectures. |
|
1184 |
6786 d 6 h |
jermar |
/kernel/trunk/ |
Move arch/thread.h to arch/proc/thread.h on all architectures.
Replace ARCH_THREAD_DATA with new thread_arch_t arch on all architectures.
Similarily, add task_arch_t arch on all architectures.
On amd64 and ia32, grow the TSS segment by 64K + 1B to support IO port
permission bitmap. For the same reason, define per task IO port permission bitmaps
on ia32 and amd64. |
|
1178 |
6787 d 4 h |
jermar |
/kernel/trunk/ |
Add task_find_by_id().
Add kernel support for SYS_MAP_PHYSMEM. |
|
1176 |
6787 d 9 h |
jermar |
/kernel/trunk/generic/ |
Kernel support for SYS_GET_TASK_ID syscall. |
|
1174 |
6787 d 10 h |
jermar |
/kernel/trunk/ |
Start capabilities support. |
|
1159 |
6790 d 5 h |
jermar |
/kernel/trunk/generic/ |
Replace list of all tasks with B+tree of all tasks. |
|
1062 |
6813 d 22 h |
jermar |
/kernel/trunk/ |
It is now possible to associate symbolic names with both threads and tasks.
More verbose kconsole threads, tasks and scheduler commands. |
|
1005 |
6815 d 9 h |
palkovsky |
/kernel/trunk/generic/ |
Added support for taskid. |
|