Subversion Repositories HelenOS

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
2836 5893 d 13 h svoboda /branches/tracing/kernel/generic/src/ipc/ Fix: only create kbox thread if it doesn't exist yet  
/branches/tracing/kernel/generic/src/ipc/ipc.c
2815 5898 d 7 h svoboda /branches/tracing/kernel/generic/ Move kernelbox debug message handling to udebug/udebug_ipc.c  
/branches/tracing/kernel/generic/include/udebug/udebug_ipc.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
2813 5898 d 10 h svoboda /branches/tracing/ Move debug call preprocessing from ipc/sysipc.c to udebug/udebug_ipc.c  
/branches/tracing/kernel/generic/include/udebug
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/include/udebug/udebug_ipc.h
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/include/udebug.h
/branches/tracing/kernel/Makefile
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/kernel/generic/src/syscall/syscall.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/uspace/lib/libc/include/udebug.h
2812 5898 d 11 h svoboda /branches/tracing/ Group debug IPC calls under a single method number, differentiate by ARG1  
/branches/tracing/uspace/lib/libc/include/udebug.h
/branches/tracing/kernel/generic/include/ipc/ipc.h
/branches/tracing/kernel/generic/include/udebug.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/uspace/app/tester/debug/debug1.c
2809 5898 d 13 h svoboda /branches/tracing/ add call to read the debugged task's memory  
/branches/tracing/kernel/generic/include/ipc/ipc.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/uspace/app/tester/debug/debug1.c
2808 5899 d 3 h svoboda /branches/tracing/ add kernel answerbox+thread to mediate access to task's memory  
/branches/tracing/kernel/generic/include/ipc/ipc.h
/branches/tracing/kernel/generic/include/ipc/sysipc.h
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/syscall/syscall.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/kernel/generic/src/proc/task.c
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/syscall/syscall.c
/branches/tracing/uspace/app/tester/debug/debug1.c
/branches/tracing/uspace/lib/libc/generic/ipc.c
/branches/tracing/uspace/lib/libc/include/ipc/ipc.h
2801 5900 d 14 h svoboda /branches/tracing/ [tracing] initial debug interface support  
/branches/tracing/kernel/generic/include/udebug.h
/branches/tracing/kernel/generic/src/udebug
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/uspace/app/tester/debug
/branches/tracing/uspace/app/tester/debug/debug1.c
/branches/tracing/uspace/app/tester/debug/debug1.def
/branches/tracing/kernel/Makefile
/branches/tracing/kernel/generic/include/ipc/ipc.h
/branches/tracing/kernel/generic/include/ipc/sysipc.h
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/include/syscall/syscall.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/syscall/syscall.c
/branches/tracing/uspace/app/tester/Makefile
/branches/tracing/uspace/app/tester/tester.c
/branches/tracing/uspace/app/tester/tester.h
/branches/tracing/uspace/lib/libc/generic/ipc.c
/branches/tracing/uspace/lib/libc/include/ipc/ipc.h
2800 5900 d 14 h svoboda /branches/tracing/kernel/generic/ [tracing] fix initialiation of answerbox->task in ipc_answerbox_init  
/branches/tracing/kernel/generic/include/ipc/ipc.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/proc/task.c
2787 5909 d 7 h decky /branches/tracing/ add dynamic linking, debugging and tracing branch  
/branches/tracing
/branches/tracing/kernel/arch/ia32/include/tdebug.h
/branches/tracing/kernel/arch/ia32/src/tdebug.c
/branches/tracing/kernel/generic/include/tdebug
/branches/tracing/kernel/generic/include/tdebug/systdebug.h
/branches/tracing/kernel/generic/include/tdebug/tdebug.h
/branches/tracing/kernel/generic/include/tdebug/tdebug_type.h
/branches/tracing/kernel/generic/src/tdebug
/branches/tracing/kernel/generic/src/tdebug/systdebug.c
/branches/tracing/kernel/generic/src/tdebug/tdebug.c
/branches/tracing/uspace/app/tester/tdebug
/branches/tracing/uspace/app/tester/tdebug/tdebug1.c
/branches/tracing/uspace/app/tester/tdebug/tdebug1.def
/branches/tracing/uspace/lib/libc/generic/tdebug.c
/branches/tracing/uspace/lib/libc/include/tdebug.h
/branches/tracing/kernel/Makefile
/branches/tracing/kernel/arch/ia32/Makefile.inc
/branches/tracing/kernel/doc/doxygroups.h
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/proc/tasklet.h
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/include/syscall/syscall.h
/branches/tracing/kernel/generic/src/interrupt/interrupt.c
/branches/tracing/kernel/generic/src/proc/task.c
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/syscall/syscall.c
/branches/tracing/uspace/app/tester/Makefile
/branches/tracing/uspace/app/tester/tester.h
/branches/tracing/uspace/app/tetris/tetris.c
/branches/tracing/uspace/lib/libc/Makefile
2662 6004 d 2 h jermar /trunk/ Add support for IPC_M_DATA_READ calls.  
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
2637 6023 d 3 h cejka /trunk/ Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/ipcrsc.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/app/tester/devmap/devmap1.c
/trunk/uspace/app/tester/ipc/register.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
/trunk/uspace/srv/console/console.c
/trunk/uspace/srv/devmap/devmap.c
/trunk/uspace/srv/fb/main.c
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/kbd/generic/kbd.c
/trunk/uspace/srv/ns/ns.c
/trunk/uspace/srv/pci/pci.c
/trunk/uspace/srv/rd/rd.c
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs_register.c
2623 6033 d 9 h jermar /trunk/kernel/generic/ Introduce the IPC_FF_ROUTE_FROM_ME forwarding flag.  
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
2622 6033 d 9 h jermar /trunk/ Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
/trunk/uspace/srv/devmap/devmap.c
/trunk/uspace/srv/ns/ns.c
2601 6046 d 6 h jermar /trunk/kernel/generic/src/ipc/ Fix and improve two IPC related comments.  
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
2494 6169 d 3 h jermar /trunk/kernel/generic/ Implement a new mechanism for copying data between two address spaces based on
IPC. New system method IPC_M_DATA_SEND is introduced. The implementation is
generic and does not make use of any possible architecture optimizations such as
direct copy from one address space to another.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
2472 6193 d 3 h jermar /trunk/kernel/generic/src/ipc/ Some left-over stuff from the last commit (IPC cleanup and improved
comments.)
 
/trunk/kernel/generic/src/ipc/ipc.c
2471 6193 d 4 h jermar /trunk/ Greatly improve comments in the IPC layer.
Now I think I finally start to understand our IPC internals :-)
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/include/ipc/ipcrsc.h
/trunk/kernel/generic/include/ipc/irq.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/ipcrsc.c
/trunk/kernel/generic/src/ipc/irq.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/libc/generic/ipc.c
/trunk/uspace/libc/include/ipc/ipc.h
/trunk/uspace/ns/ns.c
/trunk/uspace/pci/pci.c
/trunk/uspace/rd/rd.c
2310 6234 d 4 h jermar /trunk/kernel/generic/ Cleanup the waitq_wakeup() interface.
Replace numeric constants (i.e. 0)
and boolean constants (i.e. false) with
more readable WAKEUP_FIRST. Also change the
type of the second argument of waitq_wakeup()
to a newly introduced type wakeup_mode_t.

Fix behaviour of waitq_wakeup() in case
that WAKEUP_ALL semantics is required
but no threads are sleeping in the wait
queue. This is a similar fix to that of
Jan Hudecek committed in the RCU branch,
but, IMHO, is more straightforward and
also doesn't eat up previous missed
wakeups.
 
/trunk/kernel/generic/include/synch/waitq.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/proc/scheduler.c
/trunk/kernel/generic/src/synch/waitq.c
2216 6264 d 3 h decky /trunk/ make thread ID 64 bit (task ID is 64 bit already)
cleanup thread syscalls
 
/trunk/kernel/arch/amd64/include/types.h
/trunk/kernel/arch/arm32/include/types.h
/trunk/kernel/arch/ia32/include/types.h
/trunk/kernel/arch/ia32xen/include/types.h
/trunk/kernel/arch/ia64/include/types.h
/trunk/kernel/arch/mips32/include/types.h
/trunk/kernel/arch/ppc32/include/types.h
/trunk/kernel/arch/ppc64/include/types.h
/trunk/kernel/arch/sparc64/include/types.h
/trunk/kernel/generic/include/interrupt.h
/trunk/kernel/generic/include/proc/task.h
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/src/adt/btree.c
/trunk/kernel/generic/src/console/cmd.c
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/proc/scheduler.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/kernel/test/fpu/fpu1.c
/trunk/kernel/test/fpu/mips2.c
/trunk/kernel/test/fpu/sse1.c
/trunk/kernel/test/mm/falloc2.c
/trunk/kernel/test/mm/slab1.c
/trunk/kernel/test/mm/slab2.c
/trunk/kernel/test/synch/rwlock3.c
/trunk/kernel/test/synch/rwlock4.c
/trunk/kernel/test/synch/semaphore2.c
/trunk/kernel/test/thread/thread1.c
/trunk/uspace/libc/generic/thread.c
/trunk/uspace/libc/include/thread.h
/trunk/uspace/tester/thread/thread1.c
2183 6266 d 7 h jermar /trunk/kernel/generic/ Continue to de-oversynchronize the kernel.
- replace as->refcount with an atomic counter; accesses to this
reference counter are not to be done when the as->lock mutex is held;
this gets us rid of mutex_lock_active();

Remove the possibility of a deadlock between TLB shootdown and asidlock.
- get rid of mutex_lock_active() on as->lock
- when locking the asidlock spinlock, always do it conditionally and with
preemption disabled; in the unsuccessful case, enable interrupts and try again
- there should be no deadlock between TLB shootdown and the as->lock mutexes
- PLEASE REVIEW !!!

Add DEADLOCK_PROBE's to places where we have spinlock_trylock() loops.
 
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/include/synch/mutex.h
/trunk/kernel/generic/include/synch/spinlock.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/irq.c
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/generic/src/proc/scheduler.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/synch/spinlock.c
/trunk/kernel/generic/src/synch/waitq.c
/trunk/kernel/generic/src/time/timeout.c

Show All