Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
3174 |
5951 d 21 h |
svoboda |
/branches/dynload/uspace/ |
Pass args to loader from task_spawn_ex(), completing argument support. Can pass args from CLI to tester. |
|
/branches/dynload/uspace/app/cli/cli.c /branches/dynload/uspace/app/init/init.c /branches/dynload/uspace/app/tester/tester.c /branches/dynload/uspace/lib/libc/generic/task.c /branches/dynload/uspace/lib/libc/include/ipc/loader.h /branches/dynload/uspace/srv/loader/include/arch.h /branches/dynload/uspace/srv/loader/main.c
|
3171 |
5952 d 13 h |
svoboda |
/branches/dynload/uspace/ |
Add argc, argv to pcb_t. Update libc to save PCB pointer and pass argc, argv to main. (None provided by loader, yet) |
|
/branches/dynload/uspace/lib/libc/Makefile /branches/dynload/uspace/lib/libc/arch/amd64/src/entry.s /branches/dynload/uspace/lib/libc/arch/arm32/src/entry.s /branches/dynload/uspace/lib/libc/arch/ia32/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/arch/ppc32/src/entry.s /branches/dynload/uspace/lib/libc/arch/ppc64/src/entry.s /branches/dynload/uspace/lib/libc/arch/sparc64/src/entry.s /branches/dynload/uspace/lib/libc/generic/libc.c /branches/dynload/uspace/lib/libc/include/loader/pcb.h /branches/dynload/uspace/srv/loader/main.c
|
3168 |
5952 d 19 h |
svoboda |
/branches/dynload/ |
For each arch define one register for passing a pointer to PCB. Implemented in kernel lowlevel swich-to-userspace funcs and libc entry points. Missing in loader's program_run implementations. |
|
/branches/dynload/kernel/arch/amd64/src/userspace.c /branches/dynload/kernel/arch/arm32/src/userspace.c /branches/dynload/kernel/arch/ia32/src/userspace.c /branches/dynload/kernel/arch/ia32xen/src/userspace.c /branches/dynload/kernel/arch/ia64/src/asm.S /branches/dynload/kernel/arch/mips32/include/atomic.h /branches/dynload/kernel/arch/mips32/src/start.S /branches/dynload/kernel/arch/ppc32/src/asm.S /branches/dynload/kernel/arch/ppc64/src/asm.S /branches/dynload/kernel/arch/sparc64/src/asm.S /branches/dynload/uspace/lib/libc/arch/amd64/src/entry.s /branches/dynload/uspace/lib/libc/arch/arm32/src/entry.s /branches/dynload/uspace/lib/libc/arch/ia32/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/arch/ppc32/src/entry.s /branches/dynload/uspace/lib/libc/arch/sparc64/src/entry.s /branches/dynload/uspace/lib/libc/generic/libc.c /branches/dynload/uspace/lib/libc/include/libc.h
|
3155 |
5954 d 14 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 |
5954 d 18 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 |
5954 d 18 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 |
5954 d 18 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
|
3148 |
5954 d 19 h |
svoboda |
/branches/dynload/uspace/ |
Make use of async in communication with loader. Add pretty loader method name numbers. |
|
/branches/dynload/uspace/lib/libc/include/ipc/loader.h
/branches/dynload/uspace/app/iloader/main.c /branches/dynload/uspace/lib/libc/generic/task.c
|
3102 |
5965 d 18 h |
svoboda |
/branches/dynload/ |
Update iloader linker scripts for supported arches |
|
/branches/dynload/boot/arch/amd64/Makefile.inc /branches/dynload/boot/arch/amd64/grub/menu.lst /branches/dynload/boot/arch/arm32/loader/Makefile /branches/dynload/boot/arch/ppc32/loader/Makefile /branches/dynload/uspace/Makefile /branches/dynload/uspace/app/iloader/Makefile /branches/dynload/uspace/app/iloader/arch/amd64/_link.ld.in /branches/dynload/uspace/app/iloader/arch/arm32/_link.ld.in /branches/dynload/uspace/app/iloader/arch/ia32/_link.ld.in /branches/dynload/uspace/app/iloader/arch/mips32/_link.ld.in /branches/dynload/uspace/app/iloader/arch/ppc32/_link.ld.in /branches/dynload/uspace/app/iramfs/Makefile /branches/dynload/uspace/app/iramfs/main.c /branches/dynload/uspace/lib/libc/generic/task.c
|
3004 |
5975 d 16 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
|
2985 |
5979 d 17 h |
svoboda |
/branches/dynload/ |
Fix as_area_change_flags() and use it in elf_loader.c |
|
/branches/dynload/kernel/generic/src/mm/as.c /branches/dynload/uspace/app/iloader/elf_load.c /branches/dynload/uspace/lib/libc/generic/as.c
|
2984 |
5979 d 18 h |
svoboda |
/branches/dynload/ |
Add as_area_change_flags() syscall and libc wrapper. Implementation limited to non-shared areas of anonymous memory. |
|
/branches/dynload/kernel/generic/include/mm/as.h /branches/dynload/kernel/generic/include/syscall/syscall.h /branches/dynload/kernel/generic/src/mm/as.c /branches/dynload/kernel/generic/src/syscall/syscall.c /branches/dynload/uspace/lib/libc/generic/as.c /branches/dynload/uspace/lib/libc/include/as.h
|
2959 |
5982 d 22 h |
svoboda |
/branches/dynload/ |
Load both program and dynamic linker from program loader. Pass program entry point to dynamic linker and have it run the program |
|
/branches/dynload/tools/bin2c.py /branches/dynload/uspace/app/iloader/arch/ia32/_link.ld.in /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/time.c /branches/dynload/uspace/lib/rtld/rtld.c
|
2956 |
5983 d 12 h |
svoboda |
/branches/dynload/uspace/lib/ |
Temporarily force local dynamic TLS model in libc by declaring all __thread variables static. Implement a trivial __tls_get_addr() function. Now rtld works linked with libc. Yaay! :D |
|
/branches/dynload/uspace/lib/rtld/arch/ia32/runtime.c
/branches/dynload/uspace/lib/rtld/ulibc.c
/branches/dynload/uspace/lib/libc/generic/async.c /branches/dynload/uspace/lib/rtld/Makefile /branches/dynload/uspace/lib/rtld/arch/ia32/Makefile.inc
|
2927 |
5986 d 22 h |
decky |
/branches/dynload/ |
added dynload branch |
|
/branches/dynload
|
2820 |
6024 d 9 h |
decky |
/trunk/uspace/lib/libc/generic/ |
fix copy-paste typo |
|
/trunk/uspace/lib/libc/generic/ipc.c
|
2771 |
6051 d 10 h |
jermar |
/trunk/uspace/lib/libc/generic/vfs/ |
Simplify the libc procedure needed to convert a user-supplied path to an
absolute canonical path. |
|
/trunk/uspace/lib/libc/generic/vfs/vfs.c
|
2763 |
6053 d 14 h |
jermar |
/trunk/uspace/ |
Support for rename(). |
|
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs/vfs.c /trunk/uspace/lib/libc/include/stdio.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/lib/libfs/libfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_ops.c
|
2761 |
6054 d 20 h |
jermar |
/trunk/uspace/lib/libc/generic/vfs/ |
mkdir() and _unlink() should return the real return code. |
|
/trunk/uspace/lib/libc/generic/vfs/vfs.c
|
2759 |
6056 d 9 h |
jermar |
/trunk/uspace/lib/libc/ |
Add hash_table_destroy(). |
|
/trunk/uspace/lib/libc/generic/libadt/hash_table.c /trunk/uspace/lib/libc/include/libadt/hash_table.h
|
2755 |
6060 d 7 h |
jermar |
/trunk/uspace/ |
Add support for relative paths: chdir() and getcwd(). |
|
/trunk/uspace/lib/libc/include/vfs/vfs.h
/trunk/uspace/lib/libc/include/vfs.h
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs/vfs.c /trunk/uspace/lib/libc/include/errno.h /trunk/uspace/lib/libc/include/unistd.h /trunk/uspace/lib/libc/include/vfs/canonify.h
|
2754 |
6060 d 7 h |
jermar |
/trunk/uspace/lib/libc/ |
Add strcat(). |
|
/trunk/uspace/lib/libc/generic/string.c /trunk/uspace/lib/libc/include/string.h
|
2753 |
6060 d 10 h |
jermar |
/trunk/uspace/ |
Move canonify() to libc so that it can be used also on the libc side. |
|
/trunk/uspace/lib/libc/generic/vfs /trunk/uspace/lib/libc/generic/vfs/canonify.c /trunk/uspace/lib/libc/generic/vfs/vfs.c /trunk/uspace/lib/libc/include/vfs /trunk/uspace/lib/libc/include/vfs/canonify.h
/trunk/uspace/lib/libc/generic/vfs.c
/trunk/uspace/lib/libc/Makefile /trunk/uspace/srv/vfs/vfs_lookup.c
|
2741 |
6070 d 10 h |
jermar |
/trunk/uspace/lib/libc/generic/ |
Prevent read() and write() from returning an uninitialized error return value. |
|
/trunk/uspace/lib/libc/generic/vfs.c
|
2735 |
6074 d 15 h |
jermar |
/trunk/uspace/ |
Support for rmdir(), unlink() and the respective VFS operations. |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/unistd.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_ops.c
|
2734 |
6074 d 17 h |
jermar |
/trunk/uspace/ |
Support for close(). |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/errno.h /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_ops.c
|
2710 |
6095 d 13 h |
jermar |
/trunk/uspace/ |
VFS_WRITE and tmpfs_write fixes. |
|
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/srv/fs/tmpfs/tmpfs.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_ops.c
|
2707 |
6095 d 17 h |
jermar |
/trunk/uspace/ |
Support for mkdir(). |
|
/trunk/uspace/lib/libc/include/sys/stat.h
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/sys/types.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_ops.c
|
2700 |
6103 d 18 h |
jermar |
/trunk/uspace/ |
Introduce the notion of lflag (i.e. lookup flags) to support the ability to
limit the scope of VFS node types that can be opened by open() and opendir(). In
the future, lflag will also specify actions for VFS_LOOKUP handlers that will be
carried out in situations such as the VFS node is not found (e.g. implementation
of mkdir() and open() with O_CREAT in oflag). |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_ops.c
|
2699 |
6104 d 8 h |
jermar |
/trunk/uspace/ |
Finish implementation of readdir(). Functions from this family are implemented
via using file descriptors for directories. For example, readdir() is
implemented as read() from an open directory. Of course, FS implementations
must understand that they are asked to read a directory and behave accordingly. |
|
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/dirent.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2694 |
6109 d 11 h |
jermar |
/trunk/uspace/lib/libc/ |
Add opendir(), rewinddir(), closedir() and some prototypes and stubs. Add dirent.h. |
|
/trunk/uspace/lib/libc/include/dirent.h
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/unistd.h
|
2693 |
6109 d 18 h |
jermar |
/trunk/uspace/ |
Add ftruncate() and support for VFS_TRUNCATE to VFS and TMPFS. |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/unistd.h /trunk/uspace/srv/fs/tmpfs/tmpfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_ops.c
|
2684 |
6116 d 12 h |
jermar |
/trunk/ |
Add libc and VFS implementation of lseek(), VFS_SEEK resp.
Add the size member to the VFS node structure (not yet initialized). |
|
/trunk/kernel/generic/include/errno.h /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/unistd.h /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_rdwr.c
|
2682 |
6116 d 17 h |
jermar |
/trunk/uspace/ |
Fix type in declaration of VFS node rwlock.
Introduce a dedicated type for futexes. Make the existing futex code use this
newly introduced type and fix formatting in futex.c. |
|
/trunk/uspace/lib/libc/generic/futex.c /trunk/uspace/lib/libc/include/futex.h /trunk/uspace/srv/vfs/vfs.h
|
2678 |
6122 d 14 h |
jermar |
/trunk/uspace/ |
The IPC_M_SHARE_* and IPC_M_DATA_* calls pass through 3 stages. Rename the send,
receive and deliver wrappers to names ending with 'start', 'receive' and
'finalize', respectively. This should make it clearer for dummies. |
|
/trunk/uspace/app/klog/klog.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/time.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/console/console.c /trunk/uspace/srv/console/gcons.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_register.c
|
2677 |
6122 d 15 h |
jermar |
/trunk/ |
Rename IPC_M_AS_AREA_SEND to IPC_M_SHARE_OUT. Rename IPC_M_AS_AREA_RECV to
IPC_M_SHARE_IN. Provide user-friendly wrappers for these methods so that even
dummies can get it right. Some applications using simpler protocols still use
these methods directly. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/klog/klog.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/time.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/console/console.c /trunk/uspace/srv/console/gcons.c /trunk/uspace/srv/fb/ega.c /trunk/uspace/srv/fb/fb.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs_register.c
|
2676 |
6122 d 21 h |
jermar |
/trunk/ |
Simplify the IPC_M_DATA_WRITE protocol. Do not pass the source address space
virtual address to the recipient. This feature was not used anyway. Now
IPC_M_DATA_WRITE and IPC_M_DATA_READ are feature-aligned. |
|
/trunk/kernel/generic/include/ipc/ipc.h /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/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c /trunk/uspace/srv/vfs/vfs_register.c
|
2675 |
6123 d 10 h |
jermar |
/trunk/uspace/lib/libc/generic/ |
Actually use the nbyte argument in both read() and write().
Fix warnings in read() and write(). |
|
/trunk/uspace/lib/libc/generic/vfs.c
|
2674 |
6123 d 10 h |
jermar |
/trunk/uspace/ |
Add libc VFS wrapper for VFS_WRITE. Fix a small bug in read(). Place open(),
read() and write() declarations in their respective headers according to SUSv3. |
|
/trunk/uspace/lib/libc/include/fcntl.h
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/vfs.h
|
2671 |
6123 d 10 h |
jermar |
/trunk/uspace/lib/libc/ |
Add VFS wrappers for VFS_MOUNT, VFS_OPEN and VFS_READ to libc. |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/vfs.h
/trunk/uspace/lib/libc/Makefile
|