Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
3203 |
5885 d 8 h |
svoboda |
/branches/dynload/ |
Move stuff related to running programs to a separate source file proc/program.c |
|
/branches/dynload/kernel/generic/include/proc/program.h /branches/dynload/kernel/generic/src/proc/program.c
/branches/dynload/kernel/Makefile /branches/dynload/kernel/generic/include/proc/task.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/src/main/kinit.c /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/syscall/syscall.c /branches/dynload/uspace/lib/libc/generic/task.c
|
3191 |
5891 d 6 h |
svoboda |
/branches/dynload/ |
Merge latest trunk changes into dynload |
|
/branches/dynload/contrib/conf/HelenOS.amd64.simics /branches/dynload/contrib/conf/HelenOS.ppc32.simics /branches/dynload/contrib/conf/HelenOS.sparc64.simics /branches/dynload/contrib/conf/SPMIPS.simics /branches/dynload/contrib/conf/dot.bochsrc /branches/dynload/contrib/conf/simics.conf /branches/dynload/contrib/conf/spmips.conf /branches/dynload/contrib/conf/vmware.conf
/branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/Makefile /branches/dynload/boot/arch/ia64/loader/gefi/apps/Makefile /branches/dynload/contrib/toolchain/toolchain.amd64.sh /branches/dynload/contrib/toolchain/toolchain.arm32.sh /branches/dynload/contrib/toolchain/toolchain.ia32.sh /branches/dynload/contrib/toolchain/toolchain.ia64.sh /branches/dynload/contrib/toolchain/toolchain.mipseb32.sh /branches/dynload/contrib/toolchain/toolchain.mipsel32.sh /branches/dynload/contrib/toolchain/toolchain.ppc32.sh /branches/dynload/contrib/toolchain/toolchain.ppc64.sh /branches/dynload/contrib/toolchain/toolchain.sparc64.sh /branches/dynload/kernel/Makefile /branches/dynload/kernel/arch/amd64/Makefile.inc /branches/dynload/kernel/arch/amd64/include/atomic.h /branches/dynload/kernel/arch/ia32/Makefile.inc /branches/dynload/kernel/arch/ia32/include/atomic.h /branches/dynload/kernel/arch/mips32/include/atomic.h /branches/dynload/kernel/arch/ppc32/src/asm.S /branches/dynload/kernel/genarch/src/mm/as_ht.c /branches/dynload/kernel/generic/include/mm/slab.h /branches/dynload/kernel/generic/include/synch/mutex.h /branches/dynload/kernel/generic/src/ipc/ipc.c /branches/dynload/kernel/generic/src/main/kinit.c /branches/dynload/kernel/generic/src/main/main.c /branches/dynload/kernel/generic/src/mm/as.c /branches/dynload/kernel/generic/src/mm/frame.c /branches/dynload/kernel/generic/src/mm/slab.c /branches/dynload/kernel/generic/src/proc/scheduler.c /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/synch/condvar.c /branches/dynload/kernel/generic/src/synch/mutex.c /branches/dynload/kernel/generic/src/synch/rwlock.c /branches/dynload/kernel/test/avltree/avltree1.c /branches/dynload/kernel/test/mm/slab2.c /branches/dynload/uspace/lib/libc/arch/amd64/include/atomic.h /branches/dynload/uspace/lib/libc/arch/ia32/include/atomic.h /branches/dynload/uspace/lib/libc/arch/mips32/include/atomic.h
|
3190 |
5891 d 7 h |
svoboda |
/branches/dynload/ |
Remove vestiges of loading code coming from trunk |
|
/branches/dynload/kernel/generic/include/proc/task.h /branches/dynload/kernel/generic/include/proc/thread.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/proc/thread.c /branches/dynload/kernel/generic/src/syscall/syscall.c /branches/dynload/uspace/app/cli/cli.c /branches/dynload/uspace/app/init/init.c /branches/dynload/uspace/lib/libc/generic/task.c /branches/dynload/uspace/lib/libc/include/task.h
|
3155 |
5905 d 3 h |
svoboda |
/branches/dynload/ |
Make loader less chatty and let init use it, instead of loading binaries itself. |
|
/branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/uspace/app/iloader/elf_load.c /branches/dynload/uspace/app/iloader/main.c /branches/dynload/uspace/app/init/init.c /branches/dynload/uspace/lib/libc/generic/io/stream.c /branches/dynload/uspace/lib/libc/include/io/stream.h
|
3153 |
5905 d 6 h |
svoboda |
/branches/dynload/ |
Merge latest trunk changes into dynload |
|
/branches/dynload/kernel/arch/sparc64/include/mm/cache_spec.h /branches/dynload/uspace/srv/fs/tmpfs/tmpfs_dump.c
/branches/dynload/Makefile /branches/dynload/boot/arch/arm32/loader/boot.S /branches/dynload/boot/arch/ia64/loader/Makefile /branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/Makefile /branches/dynload/boot/arch/mips32/loader/asm.S /branches/dynload/boot/arch/sparc64/loader/asm.S /branches/dynload/boot/arch/sparc64/loader/ofwarch.c /branches/dynload/kernel/arch/amd64/include/memstr.h /branches/dynload/kernel/arch/amd64/src/debugger.c /branches/dynload/kernel/arch/amd64/src/pm.c /branches/dynload/kernel/arch/arm32/Makefile.inc /branches/dynload/kernel/arch/arm32/include/barrier.h /branches/dynload/kernel/arch/arm32/include/memstr.h /branches/dynload/kernel/arch/arm32/include/types.h /branches/dynload/kernel/arch/arm32/src/exception.c /branches/dynload/kernel/arch/arm32/src/mm/page_fault.c /branches/dynload/kernel/arch/ia32/include/barrier.h /branches/dynload/kernel/arch/ia32/include/memstr.h /branches/dynload/kernel/arch/ia32/include/types.h /branches/dynload/kernel/arch/ia32/src/drivers/ega.c /branches/dynload/kernel/arch/ia32/src/pm.c /branches/dynload/kernel/arch/ia32/src/smp/ap.S /branches/dynload/kernel/arch/ia32/src/smp/smp.c /branches/dynload/kernel/arch/ia32xen/src/ia32xen.c /branches/dynload/kernel/arch/ia32xen/src/pm.c /branches/dynload/kernel/arch/ia32xen/src/smp/smp.c /branches/dynload/kernel/arch/ia64/include/barrier.h /branches/dynload/kernel/arch/ia64/include/memstr.h /branches/dynload/kernel/arch/ia64/include/types.h /branches/dynload/kernel/arch/ia64/src/drivers/ega.c /branches/dynload/kernel/arch/ia64/src/mm/vhpt.c /branches/dynload/kernel/arch/mips32/include/barrier.h /branches/dynload/kernel/arch/mips32/include/memstr.h /branches/dynload/kernel/arch/mips32/include/types.h /branches/dynload/kernel/arch/mips32/src/debugger.c /branches/dynload/kernel/arch/mips32/src/mips32.c /branches/dynload/kernel/arch/ppc32/include/barrier.h /branches/dynload/kernel/arch/ppc32/include/memstr.h /branches/dynload/kernel/arch/ppc64/include/barrier.h /branches/dynload/kernel/arch/ppc64/include/memstr.h /branches/dynload/kernel/arch/ppc64/src/mm/page.c /branches/dynload/kernel/arch/sparc64/include/barrier.h /branches/dynload/kernel/arch/sparc64/include/memstr.h /branches/dynload/kernel/arch/sparc64/include/mm/tlb.h /branches/dynload/kernel/arch/sparc64/src/mm/as.c /branches/dynload/kernel/arch/sparc64/src/mm/cache.S /branches/dynload/kernel/genarch/src/mm/as_pt.c /branches/dynload/kernel/genarch/src/mm/page_pt.c /branches/dynload/kernel/generic/include/console/console.h /branches/dynload/kernel/generic/include/memstr.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/include/typedefs.h /branches/dynload/kernel/generic/src/adt/hash_table.c /branches/dynload/kernel/generic/src/console/console.c /branches/dynload/kernel/generic/src/cpu/cpu.c /branches/dynload/kernel/generic/src/ipc/ipc.c /branches/dynload/kernel/generic/src/lib/memstr.c /branches/dynload/kernel/generic/src/lib/objc_ext.c /branches/dynload/kernel/generic/src/main/main.c /branches/dynload/kernel/generic/src/mm/as.c /branches/dynload/kernel/generic/src/mm/backend_anon.c /branches/dynload/kernel/generic/src/mm/backend_elf.c /branches/dynload/kernel/generic/src/mm/page.c /branches/dynload/kernel/generic/src/mm/slab.c /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/proc/thread.c /branches/dynload/kernel/generic/src/syscall/syscall.c /branches/dynload/kernel/test/mm/falloc2.c /branches/dynload/kernel/test/mm/slab1.c /branches/dynload/kernel/test/mm/slab2.c /branches/dynload/uspace/app/init/init.c /branches/dynload/uspace/app/klog/klog.c /branches/dynload/uspace/app/tester/tester.c /branches/dynload/uspace/lib/libc/arch/arm32/src/entry.s /branches/dynload/uspace/lib/libc/arch/ia64/src/entry.s /branches/dynload/uspace/lib/libc/arch/mips32/src/entry.s /branches/dynload/uspace/lib/libc/generic/io/stream.c /branches/dynload/uspace/lib/libc/include/io/stream.h /branches/dynload/uspace/lib/libc/include/stdio.h /branches/dynload/uspace/srv/fs/fat/fat.c /branches/dynload/uspace/srv/fs/fat/fat.h /branches/dynload/uspace/srv/fs/fat/fat_idx.c /branches/dynload/uspace/srv/fs/fat/fat_ops.c /branches/dynload/uspace/srv/fs/tmpfs/Makefile /branches/dynload/uspace/srv/fs/tmpfs/tmpfs.c /branches/dynload/uspace/srv/fs/tmpfs/tmpfs.h /branches/dynload/uspace/srv/fs/tmpfs/tmpfs_ops.c /branches/dynload/uspace/srv/vfs/vfs.h /branches/dynload/uspace/srv/vfs/vfs_lookup.c /branches/dynload/uspace/srv/vfs/vfs_ops.c
|
3150 |
5905 d 7 h |
svoboda |
/branches/dynload/ |
Merge trunk changes up to r3090 into dynload (still broken) |
|
/branches/dynload/uspace/lib/libc/include/ipc/devmap.h
/branches/dynload/uspace/srv/devmap/devmap.h /branches/dynload/uspace/srv/fb/sysio.c /branches/dynload/uspace/srv/fb/sysio.h
/branches/dynload/kernel/generic/include/mm/as.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/src/ipc/ipc.c /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/proc/thread.c /branches/dynload/kernel/generic/src/syscall/syscall.c /branches/dynload/uspace/app/init/init.c /branches/dynload/uspace/app/init/init.h /branches/dynload/uspace/app/init/version.c /branches/dynload/uspace/app/init/version.h /branches/dynload/uspace/app/tester/devmap/devmap1.c /branches/dynload/uspace/app/tetris/scores.c /branches/dynload/uspace/lib/libc/arch/amd64/src/entry.s /branches/dynload/uspace/lib/libc/arch/ia32/include/config.h /branches/dynload/uspace/lib/libc/arch/ia32/src/entry.s /branches/dynload/uspace/lib/libc/arch/ia32/src/syscall.S /branches/dynload/uspace/lib/libc/arch/ppc32/src/entry.s /branches/dynload/uspace/lib/libc/arch/sparc64/src/entry.s /branches/dynload/uspace/lib/libc/generic/io/stream.c /branches/dynload/uspace/lib/libc/generic/libc.c /branches/dynload/uspace/lib/libc/generic/task.c /branches/dynload/uspace/lib/libc/generic/vfs/vfs.c /branches/dynload/uspace/lib/libc/include/io/stream.h /branches/dynload/uspace/lib/libc/include/ipc/services.h /branches/dynload/uspace/lib/libc/include/libc.h /branches/dynload/uspace/lib/libc/include/task.h /branches/dynload/uspace/srv/console/Makefile /branches/dynload/uspace/srv/console/console.c /branches/dynload/uspace/srv/devmap/devmap.c /branches/dynload/uspace/srv/fb/Makefile /branches/dynload/uspace/srv/fb/main.c /branches/dynload/uspace/srv/fs/tmpfs/tmpfs.c /branches/dynload/uspace/srv/fs/tmpfs/tmpfs_ops.c /branches/dynload/uspace/srv/kbd/Makefile /branches/dynload/uspace/srv/kbd/generic/kbd.c /branches/dynload/uspace/srv/ns/Makefile /branches/dynload/uspace/srv/ns/ns.c /branches/dynload/uspace/srv/rd/Makefile /branches/dynload/uspace/srv/rd/rd.c /branches/dynload/uspace/srv/vfs/vfs.c /branches/dynload/uspace/srv/vfs/vfs.h /branches/dynload/uspace/srv/vfs/vfs_ops.c
|
3149 |
5905 d 7 h |
svoboda |
/branches/dynload/ |
Merge trunk changes up to r3071 into dynload (broken) |
|
/branches/dynload/uspace/dist
/branches/dynload/kernel/generic/include/console/klog.h /branches/dynload/kernel/generic/src/console/klog.c
/branches/dynload/HelenOS.config /branches/dynload/boot/arch/amd64/Makefile.inc /branches/dynload/boot/arch/amd64/grub/menu.lst /branches/dynload/boot/arch/ia32/Makefile.inc /branches/dynload/boot/arch/ia32/grub/menu.lst /branches/dynload/boot/arch/ppc32/loader/Makefile /branches/dynload/boot/arch/sparc64/loader/Makefile /branches/dynload/kernel/Makefile /branches/dynload/kernel/arch/amd64/include/types.h /branches/dynload/kernel/arch/amd64/src/debugger.c /branches/dynload/kernel/arch/amd64/src/proc/thread.c /branches/dynload/kernel/arch/arm32/include/types.h /branches/dynload/kernel/arch/ia32/include/mm/page.h /branches/dynload/kernel/arch/ia32/include/smp/apic.h /branches/dynload/kernel/arch/ia32/include/types.h /branches/dynload/kernel/arch/ia32/src/debug/panic.s /branches/dynload/kernel/arch/ia32xen/include/types.h /branches/dynload/kernel/arch/ia32xen/src/smp/smp.c /branches/dynload/kernel/arch/ia64/include/types.h /branches/dynload/kernel/arch/mips32/include/types.h /branches/dynload/kernel/arch/mips32/src/debugger.c /branches/dynload/kernel/arch/mips32/src/exception.c /branches/dynload/kernel/arch/ppc32/include/boot/boot.h /branches/dynload/kernel/arch/ppc32/include/drivers/cuda.h /branches/dynload/kernel/arch/ppc32/include/exception.h /branches/dynload/kernel/arch/ppc32/include/mm/tlb.h /branches/dynload/kernel/arch/ppc32/include/types.h /branches/dynload/kernel/arch/ppc32/src/interrupt.c /branches/dynload/kernel/arch/ppc32/src/mm/page.c /branches/dynload/kernel/arch/ppc64/include/exception.h /branches/dynload/kernel/arch/ppc64/include/types.h /branches/dynload/kernel/arch/ppc64/src/cpu/cpu.c /branches/dynload/kernel/arch/ppc64/src/interrupt.c /branches/dynload/kernel/arch/ppc64/src/mm/page.c /branches/dynload/kernel/arch/sparc64/include/asm.h /branches/dynload/kernel/arch/sparc64/include/cpu.h /branches/dynload/kernel/arch/sparc64/include/types.h /branches/dynload/kernel/arch/sparc64/src/cpu/cpu.c /branches/dynload/kernel/arch/sparc64/src/smp/smp.c /branches/dynload/kernel/arch/sparc64/src/trap/exception.c /branches/dynload/kernel/arch/sparc64/src/trap/interrupt.c /branches/dynload/kernel/genarch/include/ofw/ofw_tree.h /branches/dynload/kernel/genarch/src/acpi/acpi.c /branches/dynload/kernel/genarch/src/acpi/madt.c /branches/dynload/kernel/generic/include/adt/avl.h /branches/dynload/kernel/generic/include/adt/list.h /branches/dynload/kernel/generic/include/ddi/device.h /branches/dynload/kernel/generic/include/debug.h /branches/dynload/kernel/generic/include/interrupt.h /branches/dynload/kernel/generic/include/panic.h /branches/dynload/kernel/generic/include/proc/task.h /branches/dynload/kernel/generic/include/proc/thread.h /branches/dynload/kernel/generic/include/stackarg.h /branches/dynload/kernel/generic/include/synch/spinlock.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/include/typedefs.h /branches/dynload/kernel/generic/src/adt/btree.c /branches/dynload/kernel/generic/src/console/chardev.c /branches/dynload/kernel/generic/src/console/cmd.c /branches/dynload/kernel/generic/src/console/console.c /branches/dynload/kernel/generic/src/cpu/cpu.c /branches/dynload/kernel/generic/src/debug/symtab.c /branches/dynload/kernel/generic/src/interrupt/interrupt.c /branches/dynload/kernel/generic/src/ipc/ipc.c /branches/dynload/kernel/generic/src/ipc/sysipc.c /branches/dynload/kernel/generic/src/lib/func.c /branches/dynload/kernel/generic/src/lib/memstr.c /branches/dynload/kernel/generic/src/lib/objc_ext.c /branches/dynload/kernel/generic/src/main/kinit.c /branches/dynload/kernel/generic/src/main/main.c /branches/dynload/kernel/generic/src/mm/as.c /branches/dynload/kernel/generic/src/mm/buddy.c /branches/dynload/kernel/generic/src/mm/frame.c /branches/dynload/kernel/generic/src/mm/slab.c /branches/dynload/kernel/generic/src/printf/printf_core.c /branches/dynload/kernel/generic/src/printf/vprintf.c /branches/dynload/kernel/generic/src/proc/scheduler.c /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/proc/thread.c /branches/dynload/kernel/generic/src/synch/rwlock.c /branches/dynload/kernel/generic/src/synch/spinlock.c /branches/dynload/kernel/generic/src/syscall/syscall.c /branches/dynload/kernel/generic/src/sysinfo/sysinfo.c /branches/dynload/kernel/kernel.config /branches/dynload/kernel/test/avltree/avltree1.c /branches/dynload/kernel/test/fpu/fpu1.c /branches/dynload/kernel/test/fpu/mips2.c /branches/dynload/kernel/test/fpu/sse1.c /branches/dynload/kernel/test/mm/falloc2.c /branches/dynload/kernel/test/mm/slab1.c /branches/dynload/kernel/test/mm/slab2.c /branches/dynload/kernel/test/print/print1.c /branches/dynload/kernel/test/synch/rwlock3.c /branches/dynload/kernel/test/synch/rwlock4.c /branches/dynload/kernel/test/synch/rwlock5.c /branches/dynload/kernel/test/synch/semaphore2.c /branches/dynload/kernel/test/test.h /branches/dynload/kernel/test/thread/thread1.c /branches/dynload/tools/mktmpfs.py /branches/dynload/uspace/lib/libc/generic/async.c /branches/dynload/uspace/lib/libc/generic/fibril.c /branches/dynload/uspace/lib/libfs/libfs.c
|
3004 |
5926 d 4 h |
svoboda |
/branches/dynload/ |
A crude task_spawn() libc function to run a program. A tiny command-line application 'cli' to test it. |
|
/branches/dynload/uspace/app/cli /branches/dynload/uspace/app/cli/Makefile /branches/dynload/uspace/app/cli/cli.c /branches/dynload/uspace/app/iloader/interp.s
/branches/dynload/boot/arch/ia32/Makefile.inc /branches/dynload/boot/arch/ia32/grub/menu.lst /branches/dynload/kernel/generic/include/proc/task.h /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/uspace/Makefile /branches/dynload/uspace/app/dltest/arch/ia32/_link.ld.in /branches/dynload/uspace/app/iloader/Makefile /branches/dynload/uspace/app/iloader/arch/ia32/_link.ld.in /branches/dynload/uspace/app/iloader/elf_load.c /branches/dynload/uspace/app/iloader/include/elf_load.h /branches/dynload/uspace/app/iloader/main.c /branches/dynload/uspace/app/iramfs/Makefile /branches/dynload/uspace/app/iramfs/data.h /branches/dynload/uspace/app/iramfs/main.c /branches/dynload/uspace/lib/libc/generic/task.c /branches/dynload/uspace/lib/libc/include/task.h /branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c /branches/dynload/uspace/lib/rtld/arch/ia32/src/runtime.c /branches/dynload/uspace/lib/rtld/arch/ppc32/src/bootstrap.c /branches/dynload/uspace/lib/rtld/arch/ppc32/src/runtime.c
|
3001 |
5927 d 5 h |
svoboda |
/branches/dynload/kernel/generic/ |
Kernel support for running programs from userspace. |
|
/branches/dynload/kernel/generic/include/lib/elf.h /branches/dynload/kernel/generic/include/mm/as.h /branches/dynload/kernel/generic/include/proc/task.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/src/lib/elf.c /branches/dynload/kernel/generic/src/main/kinit.c /branches/dynload/kernel/generic/src/proc/task.c /branches/dynload/kernel/generic/src/syscall/syscall.c
|
2927 |
5937 d 10 h |
decky |
/branches/dynload/ |
added dynload branch |
|
/branches/dynload
|
2802 |
5977 d 9 h |
jermar |
/trunk/kernel/generic/ |
Fix initialization of answerbox->task in ipc_answerbox_init.
Contributed by Jiri Svoboda. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/proc/task.c
|
2745 |
6015 d 8 h |
decky |
/trunk/ |
code cleanup (mostly signed/unsigned)
allow extra compiler warnings |
|
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/src/mm/page.c /trunk/kernel/arch/arm32/src/arm32.c /trunk/kernel/arch/arm32/src/cpu/cpu.c /trunk/kernel/arch/arm32/src/debug/print.c /trunk/kernel/arch/ia32xen/src/mm/tlb.c /trunk/kernel/arch/ia32xen/src/smp/mps.c /trunk/kernel/arch/ia32xen/src/smp/smp.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/mips32/src/cpu/cpu.c /trunk/kernel/arch/mips32/src/debugger.c /trunk/kernel/arch/mips32/src/drivers/arc.c /trunk/kernel/arch/mips32/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/mm/frame.c /trunk/kernel/arch/sparc64/src/mm/page.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/smp/ipi.c /trunk/kernel/genarch/src/ofw/ebus.c /trunk/kernel/genarch/src/ofw/fhc.c /trunk/kernel/genarch/src/ofw/ofw_tree.c /trunk/kernel/genarch/src/ofw/pci.c /trunk/kernel/genarch/src/ofw/sbus.c /trunk/kernel/generic/include/lib/elf.h /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/include/mm/slab.h /trunk/kernel/generic/src/debug/symtab.c /trunk/kernel/generic/src/interrupt/interrupt.c /trunk/kernel/generic/src/ipc/irq.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/kernel/generic/src/lib/elf.c /trunk/kernel/generic/src/lib/func.c /trunk/kernel/generic/src/lib/memstr.c /trunk/kernel/generic/src/lib/sort.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/frame.c /trunk/kernel/generic/src/mm/slab.c /trunk/kernel/generic/src/mm/tlb.c /trunk/kernel/generic/src/printf/printf_core.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/synch/futex.c /trunk/kernel/generic/src/time/clock.c /trunk/kernel/test/avltree/avltree1.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/synch/rwlock5.c /trunk/kernel/test/test.c /trunk/kernel/test/thread/thread1.c /trunk/uspace/lib/libc/arch/ppc64/src/syscall.c
|
2712 |
6041 d 6 h |
decky |
/trunk/kernel/ |
prettyprint output |
|
/trunk/kernel/arch/amd64/src/debugger.c /trunk/kernel/arch/ia32/src/mm/frame.c /trunk/kernel/generic/include/macros.h /trunk/kernel/generic/src/interrupt/interrupt.c /trunk/kernel/generic/src/mm/frame.c /trunk/kernel/generic/src/printf/printf_core.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/proc/thread.c
|
2632 |
6102 d 19 h |
decky |
/trunk/kernel/generic/src/proc/ |
try to kill the tasks fewer times by introducing a delay in iterations |
|
/trunk/kernel/generic/src/proc/task.c
|
2504 |
6228 d 1 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. |
|
/trunk/kernel/generic/include/adt/avl.h /trunk/kernel/generic/include/proc/task.h /trunk/kernel/generic/src/adt/avl.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/proc/thread.c
|
2446 |
6286 d 4 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. |
|
/trunk/kernel/generic/include/adt/list.h /trunk/kernel/generic/include/proc/task.h /trunk/kernel/generic/include/proc/thread.h /trunk/kernel/generic/src/main/uinit.c /trunk/kernel/generic/src/proc/scheduler.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/proc/thread.c
|
2436 |
6288 d 0 h |
jermar |
/trunk/ |
Fix two memory leaks.
In kernel, kernel_uarg structure needs to be deallocated when a thread
with userspace context is destroyed.
In userspace, the return value of the SYS_THREAD_CREATE must be checked
for error conditions and in case of error, uarg and stack must be freed
up. |
|
/trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/proc/thread.c /trunk/uspace/libc/generic/thread.c
|
2227 |
6339 d 14 h |
decky |
/trunk/kernel/ |
start shutdown infrastructure |
|
/trunk/kernel/generic/src/main/shutdown.c
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/arm32/src/arm32.c /trunk/kernel/arch/ia32/src/pm.c /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia64/src/ia64.c /trunk/kernel/arch/mips32/src/mips32.c /trunk/kernel/arch/ppc32/src/drivers/cuda.c /trunk/kernel/arch/ppc64/src/ppc64.c /trunk/kernel/arch/sparc64/src/sparc64.c /trunk/kernel/generic/include/arch.h /trunk/kernel/generic/include/proc/task.h /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/kernel.config
|
2216 |
6341 d 0 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 |
6343 d 4 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
|