Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1588 6600 d 9 h jermar /kernel/trunk/generic/src/ In task_kill(), remove the task from the tasks_btree before proceeding.
Thus, when the kernel finds the task in the tasks_btree and locks it before
releasing tasks_lock, it is guaranteed that the task will not be destroyed
until the lock is held. If the kernel needs to unlock the task, do some operation
and lock it again, it should increase its refcount before doing so. In that case,
when releasing the lock, it must decrement the refcount and if it reaches
zero, it must call task_destroy().
 
/kernel/trunk/generic/src/ddi/ddi.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/security/cap.c
1587 6600 d 10 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.
 
/kernel/trunk/arch/amd64/src/proc/task.c
/kernel/trunk/arch/ia32/src/proc/task.c
/kernel/trunk/arch/ia64/include/proc/task.h
/kernel/trunk/arch/mips32/include/proc/task.h
/kernel/trunk/arch/ppc32/include/proc/task.h
/kernel/trunk/arch/ppc64/include/proc/task.h
/kernel/trunk/arch/sparc64/include/proc/task.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/proc/task.c
1586 6600 d 13 h jermar /kernel/trunk/generic/src/synch/ futex_cleanup() implementation.  
/kernel/trunk/generic/src/synch/futex.c
1585 6600 d 13 h jermar /kernel/trunk/generic/ Kill task when its main thread exits.  
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
1583 6600 d 16 h jermar /kernel/trunk/generic/ Make ktaskclnp call ipc_cleanup and futex_cleanup.  
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/synch/futex.h
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/synch/futex.c
1582 6600 d 17 h palkovsky /kernel/trunk/generic/ Modified ipc_cleanup.  
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/ipc/ipc.c
1581 6600 d 19 h jermar /kernel/trunk/generic/src/ Detach kmp thread after joining it.
Extend assertion in thread_destroy() to not panic when threads are destroyed in their Unded state.
 
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/proc/thread.c
1580 6600 d 19 h jermar /kernel/trunk/generic/src/ Update for task_kill().  
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/synch/waitq.c
1579 6601 d 5 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.
 
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/waitq.c
/kernel/trunk/generic/src/syscall/syscall.c
1576 6601 d 7 h jermar /kernel/trunk/ Make use of thread_join_timeout() and thread_detach() in kernel.

Improved comments in slab.h.
 
/kernel/trunk/arch/ia32/include/smp/mps.h
/kernel/trunk/arch/ia32/src/smp/mps.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/proc/scheduler.c
1573 6601 d 10 h palkovsky /kernel/trunk/generic/ Renamed some things in IPC to be consistent.
Added ipc reporting to kconsole.
 
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/ipc/ipcrsc.c
/kernel/trunk/generic/src/ipc/irq.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/proc/task.c
1571 6601 d 10 h jermar /kernel/trunk/generic/ thread_join_timeout() and thread_detach() implementation.
Needs more thorough testing.
 
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
1568 6601 d 11 h palkovsky /kernel/trunk/generic/ Slightly remodelled ipc hangups to facilitate correct cleanup.
Doc updates for frame allocator.
 
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/ipc/ipcrsc.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/mm/frame.c
1554 6602 d 5 h jermar /kernel/trunk/generic/src/mm/ Improve comment in slab.c.  
/kernel/trunk/generic/src/mm/slab.c
1550 6602 d 11 h jermar /kernel/trunk/generic/src/mm/ Remove left over piece of code for increasing reference count in ELF backend.  
/kernel/trunk/generic/src/mm/backend_elf.c
1549 6602 d 12 h vana /kernel/trunk/generic/src/adt/ Bitmap functions patch  
/kernel/trunk/generic/src/adt/bitmap.c
1546 6602 d 13 h jermar /kernel/trunk/generic/src/mm/ Add reference to shared frames of ELF image backed address space area.  
/kernel/trunk/generic/src/mm/backend_elf.c
1545 6602 d 13 h jermar /kernel/trunk/generic/src/mm/ Add reference to shared frames of anonymous address space area.  
/kernel/trunk/generic/src/mm/backend_anon.c
1544 6602 d 13 h palkovsky /kernel/trunk/generic/ Slightly better behaviour with caching on memory sharing.  
/kernel/trunk/generic/include/errno.h
/kernel/trunk/generic/src/mm/as.c
1539 6602 d 19 h cejka /kernel/trunk/generic/src/mm/ Fixed warning about unused variable in non-debug mode.  
/kernel/trunk/generic/src/mm/backend_phys.c
1507 6603 d 13 h vana /kernel/trunk/ IA64 uspace keyboard kernel part  
/kernel/trunk/arch/ia64/include/arch.h
/kernel/trunk/arch/ia64/include/interrupt.h
/kernel/trunk/arch/ia64/include/ski/ski.h
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/ia64/src/interrupt.c
/kernel/trunk/arch/ia64/src/ski/ski.c
/kernel/trunk/generic/include/ipc/irq.h
/kernel/trunk/generic/src/ipc/irq.c
1502 6603 d 15 h jermar /kernel/trunk/ Replace nonblocking argument of waitq_sleep_timeout with flags that specify mode of operation.
Now a flag can be used to specify interruptible sleep.
Modify waitq_interrupt_sleep() to only interrupt threads that used this flag.
O
 
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/synch/condvar.h
/kernel/trunk/generic/include/synch/futex.h
/kernel/trunk/generic/include/synch/mutex.h
/kernel/trunk/generic/include/synch/rwlock.h
/kernel/trunk/generic/include/synch/semaphore.h
/kernel/trunk/generic/include/synch/synch.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/condvar.c
/kernel/trunk/generic/src/synch/futex.c
/kernel/trunk/generic/src/synch/mutex.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/semaphore.c
/kernel/trunk/generic/src/synch/waitq.c
1495 6604 d 2 h jermar /kernel/trunk/ Remove three infinite loops introduced yesterday :-)

Make ia64 ready to load 5 ELF images.
 
/kernel/trunk/arch/ia64/Makefile.inc
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/generic/src/mm/as.c
1494 6604 d 3 h palkovsky /kernel/trunk/generic/ Removes unnecessary parameter for map_physmem syscall.  
/kernel/trunk/generic/include/ddi/ddi.h
/kernel/trunk/generic/src/ddi/ddi.c
1483 6604 d 13 h jermar /kernel/trunk/generic/src/ Implement recursive function for deallocating the whole B+tree.
Make use of this function in address space management.
 
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/generic/src/mm/as.c
1474 6605 d 5 h palkovsky /kernel/trunk/ Added syscall that lets kernel regain access to keyboard.  
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/mips32/include/drivers/msim.h
/kernel/trunk/arch/mips32/src/console.c
/kernel/trunk/arch/mips32/src/drivers/msim.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/ppc32/src/ppc32.c
/kernel/trunk/arch/ppc64/src/ppc64.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/genarch/include/i8042/i8042.h
/kernel/trunk/genarch/src/i8042/i8042.c
/kernel/trunk/generic/include/console/console.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/syscall/syscall.c
1468 6605 d 11 h jermar /kernel/trunk/ Function for destroying address space for which there is no other reference in the kernel.  
/kernel/trunk/arch/ia32/include/mm/asid.h
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/as_pt.c
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/proc/task.c
1467 6605 d 11 h jermar /kernel/trunk/generic/src/synch/ Allow usage of blocking synchronization primitives in functions that are also called during system initialization.  
/kernel/trunk/generic/src/synch/waitq.c
1461 6605 d 13 h palkovsky /kernel/trunk/generic/ Slightly changed semantics of AS_AREA_SEND/RECV.  
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/mm/as.c
1460 6605 d 15 h jermar /kernel/trunk/generic/ Reference counting for futexes.  
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/synch/futex.h
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/synch/futex.c
1458 6606 d 5 h palkovsky /kernel/trunk/ Added console support to gxemul.
Wider information in thread list.
 
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/contrib/conf/gxemul.sh
/kernel/trunk/generic/src/proc/thread.c
1457 6606 d 5 h jermar /kernel/trunk/generic/src/time/ Project missed_clock_ticks also on thread timeslice and run queue relink counter.  
/kernel/trunk/generic/src/time/clock.c
1448 6607 d 10 h palkovsky /kernel/trunk/generic/src/syscall/ Better SYS_IO  
/kernel/trunk/generic/src/syscall/syscall.c
1438 6608 d 5 h palkovsky /kernel/trunk/generic/ Correct realtime clock communication.  
/kernel/trunk/generic/include/print.h
/kernel/trunk/generic/src/time/clock.c
1437 6608 d 6 h jermar /kernel/trunk/generic/src/mm/ Fix used_space_insert() to correctly service an empty used_space B+tree.  
/kernel/trunk/generic/src/mm/as.c
1436 6608 d 7 h jermar /kernel/trunk/generic/src/mm/ Fight TLB inconsistency by proper placing of tlb_shootdown_start() and tlb_shootdown_finalize() in as.c.  
/kernel/trunk/generic/src/mm/as.c
1434 6608 d 9 h palkovsky /kernel/trunk/ Added 'realtime' clock interface.
Added some asm macros as memory barriers.
Added drift computing for mips platform.
 
/kernel/trunk/arch/ia32/include/barrier.h
/kernel/trunk/arch/mips32/include/barrier.h
/kernel/trunk/arch/mips32/include/cp0.h
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/include/time/clock.h
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/time/clock.c
1433 6608 d 12 h jermar /kernel/trunk/generic/src/time/ Fix critical bug in timeout processing introduced several hours ago.  
/kernel/trunk/generic/src/time/clock.c
1431 6608 d 16 h jermar /kernel/trunk/generic/ Add missed_clock_ticks to CPU structure so that clock() can detect missed timer interrupts.
Architectures are required to support this in order to make time keeping accurate.
 
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/src/time/clock.c
1429 6608 d 17 h jermar /kernel/trunk/generic/ Make ddi_physmem_map() accept address space area flags instead of writable switch.
Thus even these types of address space areas can turn caching on, if it is desired.
 
/kernel/trunk/generic/include/ddi/ddi_arg.h
/kernel/trunk/generic/src/ddi/ddi.c