Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
3674 5633 d 19 h svoboda /branches/dynload/ Merge latest trunk changes to dynload.  
/branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/division.c
/branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/division.h
/branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/mkimage.c
/branches/dynload/boot/arch/sparc64/silo/silo.patched.tar.gz
/branches/dynload/contrib/util
/branches/dynload/contrib/util/DownloadAndPatchSILO.sh
/branches/dynload/kernel/arch/ia64/include/drivers/kbd.h
/branches/dynload/kernel/arch/sparc64/include/cpu_family.h
/branches/dynload/kernel/arch/sparc64/include/cpu_node.h
/branches/dynload/kernel/arch/sparc64/include/drivers/sgcn.h
/branches/dynload/kernel/arch/sparc64/src/drivers/sgcn.c
/branches/dynload/uspace/app/tester/loop
/branches/dynload/uspace/app/tester/loop/loop1.c
/branches/dynload/uspace/app/tester/loop/loop1.def
/branches/dynload/uspace/dist/readme
/branches/dynload/uspace/lib/libc/arch/ia64/include/ddi.h
/branches/dynload/uspace/lib/libc/arch/ia64/src/ddi.c
/branches/dynload/uspace/srv/fb/serial_console.c
/branches/dynload/uspace/srv/fb/serial_console.h
/branches/dynload/uspace/srv/fb/sgcn.c
/branches/dynload/uspace/srv/fb/sgcn.h
/branches/dynload/uspace/srv/kbd/arch/ia64/include/lkbd.h
/branches/dynload/uspace/srv/kbd/arch/ia64/include/scanc.h
/branches/dynload/uspace/srv/kbd/arch/ia64/src/lkbd.c
/branches/dynload/uspace/srv/kbd/arch/ia64/src/mouse.c
/branches/dynload/uspace/srv/kbd/arch/ia64/src/scanc.c
/branches/dynload/uspace/srv/kbd/arch/sparc64/include/sgcn.h
/branches/dynload/uspace/srv/kbd/arch/sparc64/src/sgcn.c
/branches/dynload/uspace/srv/kbd/genarch/include/nofb.h
/branches/dynload/uspace/srv/kbd/genarch/src/nofb.c
/branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/Makefile
/branches/dynload/boot/arch/ia64/loader/gefi/HelenOS/hello.c
/branches/dynload/boot/arch/ia64/loader/main.c
/branches/dynload/boot/arch/ppc64/Makefile.inc
/branches/dynload/boot/arch/sparc64/Makefile.inc
/branches/dynload/boot/arch/sparc64/loader/asm.S
/branches/dynload/boot/arch/sparc64/loader/main.c
/branches/dynload/boot/arch/sparc64/loader/main.h
/branches/dynload/boot/arch/sparc64/loader/ofwarch.c
/branches/dynload/boot/arch/sparc64/loader/register.h
/branches/dynload/boot/boot.config
/branches/dynload/boot/genarch/balloc.h
/branches/dynload/boot/genarch/ofw.c
/branches/dynload/boot/genarch/ofw_tree.c
/branches/dynload/kernel/Makefile
/branches/dynload/kernel/arch/arm32/src/arm32.c
/branches/dynload/kernel/arch/ia32/src/asm.S
/branches/dynload/kernel/arch/ia32/src/drivers/vesa.c
/branches/dynload/kernel/arch/ia64/include/bootinfo.h
/branches/dynload/kernel/arch/ia64/include/cpu.h
/branches/dynload/kernel/arch/ia64/include/interrupt.h
/branches/dynload/kernel/arch/ia64/include/mm/page.h
/branches/dynload/kernel/arch/ia64/include/mm/tlb.h
/branches/dynload/kernel/arch/ia64/include/proc/task.h
/branches/dynload/kernel/arch/ia64/src/ddi/ddi.c
/branches/dynload/kernel/arch/ia64/src/drivers/ega.c
/branches/dynload/kernel/arch/ia64/src/ia64.c
/branches/dynload/kernel/arch/ia64/src/interrupt.c
/branches/dynload/kernel/arch/ia64/src/mm/frame.c
/branches/dynload/kernel/arch/ia64/src/mm/tlb.c
/branches/dynload/kernel/arch/ia64/src/ski/ski.c
/branches/dynload/kernel/arch/ia64/src/smp/smp.c
/branches/dynload/kernel/arch/mips32/src/mips32.c
/branches/dynload/kernel/arch/ppc32/src/ppc32.c
/branches/dynload/kernel/arch/sparc64/Makefile.inc
/branches/dynload/kernel/arch/sparc64/include/arch.h
/branches/dynload/kernel/arch/sparc64/include/asm.h
/branches/dynload/kernel/arch/sparc64/include/cpu.h
/branches/dynload/kernel/arch/sparc64/include/drivers/fhc.h
/branches/dynload/kernel/arch/sparc64/include/drivers/kbd.h
/branches/dynload/kernel/arch/sparc64/include/drivers/pci.h
/branches/dynload/kernel/arch/sparc64/include/drivers/scr.h
/branches/dynload/kernel/arch/sparc64/include/mm/cache.h
/branches/dynload/kernel/arch/sparc64/include/mm/cache_spec.h
/branches/dynload/kernel/arch/sparc64/include/mm/frame.h
/branches/dynload/kernel/arch/sparc64/include/mm/mmu.h
/branches/dynload/kernel/arch/sparc64/include/mm/tlb.h
/branches/dynload/kernel/arch/sparc64/include/mm/tsb.h
/branches/dynload/kernel/arch/sparc64/include/mm/tte.h
/branches/dynload/kernel/arch/sparc64/include/regdef.h
/branches/dynload/kernel/arch/sparc64/include/register.h
/branches/dynload/kernel/arch/sparc64/include/trap/interrupt.h
/branches/dynload/kernel/arch/sparc64/src/console.c
/branches/dynload/kernel/arch/sparc64/src/cpu/cpu.c
/branches/dynload/kernel/arch/sparc64/src/ddi/ddi.c
/branches/dynload/kernel/arch/sparc64/src/drivers/fhc.c
/branches/dynload/kernel/arch/sparc64/src/drivers/kbd.c
/branches/dynload/kernel/arch/sparc64/src/drivers/pci.c
/branches/dynload/kernel/arch/sparc64/src/drivers/scr.c
/branches/dynload/kernel/arch/sparc64/src/drivers/tick.c
/branches/dynload/kernel/arch/sparc64/src/mm/as.c
/branches/dynload/kernel/arch/sparc64/src/mm/cache.S
/branches/dynload/kernel/arch/sparc64/src/mm/page.c
/branches/dynload/kernel/arch/sparc64/src/mm/tlb.c
/branches/dynload/kernel/arch/sparc64/src/mm/tsb.c
/branches/dynload/kernel/arch/sparc64/src/smp/ipi.c
/branches/dynload/kernel/arch/sparc64/src/smp/smp.c
/branches/dynload/kernel/arch/sparc64/src/sparc64.c
/branches/dynload/kernel/arch/sparc64/src/start.S
/branches/dynload/kernel/arch/sparc64/src/trap/interrupt.c
/branches/dynload/kernel/genarch/include/fb/fb.h
/branches/dynload/kernel/genarch/include/fb/visuals.h
/branches/dynload/kernel/genarch/include/kbd/ns16550.h
/branches/dynload/kernel/genarch/include/kbd/z8530.h
/branches/dynload/kernel/genarch/include/ofw/ofw_tree.h
/branches/dynload/kernel/genarch/src/fb/fb.c
/branches/dynload/kernel/genarch/src/kbd/i8042.c
/branches/dynload/kernel/genarch/src/kbd/ns16550.c
/branches/dynload/kernel/genarch/src/kbd/z8530.c
/branches/dynload/kernel/genarch/src/ofw/ebus.c
/branches/dynload/kernel/genarch/src/ofw/fhc.c
/branches/dynload/kernel/genarch/src/ofw/ofw_tree.c
/branches/dynload/kernel/genarch/src/ofw/pci.c
/branches/dynload/kernel/generic/include/adt/bitmap.h
/branches/dynload/kernel/generic/include/byteorder.h
/branches/dynload/kernel/generic/include/ddi/irq.h
/branches/dynload/kernel/generic/include/ipc/kbox.h
/branches/dynload/kernel/generic/include/proc/task.h
/branches/dynload/kernel/generic/include/udebug/udebug.h
/branches/dynload/kernel/generic/src/ddi/irq.c
/branches/dynload/kernel/generic/src/interrupt/interrupt.c
/branches/dynload/kernel/generic/src/ipc/irq.c
/branches/dynload/kernel/generic/src/ipc/kbox.c
/branches/dynload/kernel/generic/src/ipc/sysipc.c
/branches/dynload/kernel/generic/src/mm/tlb.c
/branches/dynload/kernel/generic/src/proc/task.c
/branches/dynload/kernel/generic/src/proc/thread.c
/branches/dynload/kernel/generic/src/synch/futex.c
/branches/dynload/kernel/generic/src/syscall/syscall.c
/branches/dynload/kernel/generic/src/time/clock.c
/branches/dynload/kernel/generic/src/udebug/udebug.c
/branches/dynload/kernel/generic/src/udebug/udebug_ipc.c
/branches/dynload/kernel/generic/src/udebug/udebug_ops.c
/branches/dynload/kernel/kernel.config
/branches/dynload/kernel/test/debug/mips1.c
/branches/dynload/uspace/app/bdsh/cmds/modules/cp/cp.c
/branches/dynload/uspace/app/init/init.c
/branches/dynload/uspace/app/tester/Makefile
/branches/dynload/uspace/app/tester/tester.c
/branches/dynload/uspace/app/tester/tester.h
/branches/dynload/uspace/app/trace/trace.c
/branches/dynload/uspace/lib/libc/arch/ia64/Makefile.inc
/branches/dynload/uspace/lib/libc/include/ctype.h
/branches/dynload/uspace/lib/libc/include/errno.h
/branches/dynload/uspace/lib/libc/include/ipc/loader.h
/branches/dynload/uspace/lib/libc/include/libc.h
/branches/dynload/uspace/lib/libfs/libfs.c
/branches/dynload/uspace/lib/libfs/libfs.h
/branches/dynload/uspace/srv/console/console.c
/branches/dynload/uspace/srv/console/gcons.c
/branches/dynload/uspace/srv/fb/Makefile
/branches/dynload/uspace/srv/fb/ega.c
/branches/dynload/uspace/srv/fb/main.c
/branches/dynload/uspace/srv/fb/msim.c
/branches/dynload/uspace/srv/fs/fat/fat.c
/branches/dynload/uspace/srv/fs/fat/fat.h
/branches/dynload/uspace/srv/fs/fat/fat_dentry.c
/branches/dynload/uspace/srv/fs/fat/fat_dentry.h
/branches/dynload/uspace/srv/fs/fat/fat_fat.c
/branches/dynload/uspace/srv/fs/fat/fat_idx.c
/branches/dynload/uspace/srv/fs/fat/fat_ops.c
/branches/dynload/uspace/srv/fs/tmpfs/tmpfs_dump.c
/branches/dynload/uspace/srv/fs/tmpfs/tmpfs_ops.c
/branches/dynload/uspace/srv/kbd/Makefile
/branches/dynload/uspace/srv/kbd/arch/ia64/src/kbd.c
/branches/dynload/uspace/srv/kbd/arch/mips32/src/kbd.c
/branches/dynload/uspace/srv/kbd/arch/sparc64/src/kbd.c
/branches/dynload/uspace/srv/vfs/vfs.h
/branches/dynload/uspace/srv/vfs/vfs_lookup.c
/branches/dynload/uspace/srv/vfs/vfs_node.c
/branches/dynload/uspace/srv/vfs/vfs_ops.c
2927 5838 d 7 h decky /branches/dynload/ added dynload branch  
/branches/dynload
2766 5904 d 21 h jermar /trunk/uspace/srv/vfs/ Grab the nodes_futex when manipulating node link counts in rename() and
_unlink().

Fix VFS futex definitions and declarations by replacing atomic_t by futex_t.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2742 5917 d 18 h jermar /trunk/uspace/srv/ Separate creation of a TMPFS node and its linking in the file system name space.
Rename VFS_FREE to VFS_DESTROY and destroy_node() to unlink_node().
 
/trunk/uspace/srv/fs/tmpfs/tmpfs.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.h
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2740 5923 d 19 h jermar /trunk/uspace/srv/vfs/ Initialize the VFS node properly.  
/trunk/uspace/srv/vfs/vfs_node.c
2731 5926 d 3 h jermar /trunk/uspace/srv/ Add the VFS_FREE operation. This operation frees up whatever resources used by
a file system node for which there is no name (i.e. an unlinked node).

Cleanup VFS operations enums and remove unneeded VFS operations.
 
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.h
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_file.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_register.c
2730 5927 d 5 h jermar /trunk/uspace/srv/ Introduce the notion of VFS node link counts.  
/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_node.c
2691 5964 d 21 h jermar /trunk/uspace/srv/vfs/ Improve the API for converting (VFS triplets, size) to VFS nodes by introducing
a new type for results of vfs_lookup_internal().
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2687 5965 d 20 h jermar /trunk/uspace/srv/ Management of the cached VFS node size.  
/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_mount.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_rdwr.c
2680 5968 d 4 h jermar /trunk/uspace/ Add basic rwlock API for uspace so that VFS can be designed/implemented using
this API. So far, the implementation of this API merely wraps futexes into
rwlocks. Real rwlocks are wanted by ticket #54.

Using the new rwlock API, replace the VFS node content futex with an rwlock.
Lock the contents rwlock as reader on reads and as writer on writes.
 
/trunk/uspace/lib/libc/include/rwlock.h
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_rdwr.c
2679 5971 d 20 h jermar /trunk/uspace/srv/vfs/ Rename unlink_futex to namespace_futex and introduce a new futex for serializing
concurrent access to a VFS node's contents by multiple clients.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_rdwr.c
/trunk/uspace/srv/vfs/vfs_unlink.c
2652 5986 d 0 h jermar /trunk/uspace/srv/vfs/ VFS work.
Fix VFS node hash function to hash only within the limits of its supposed
ranges.
 
/trunk/uspace/srv/vfs/vfs_node.c
2596 6028 d 23 h jermar /trunk/uspace/srv/vfs/ VFS work.
Implement VFS node hash table management.
 
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
2593 6030 d 21 h jermar /trunk/uspace/srv/vfs/ A lot of more VFS prototyping.
VFS_OPEN gets reasonably complete, fix a limitation that prevented file
structures from being shared by multiple file descriptors, add functions for
file descriptor management, introduce unlink_futex and two new VFS operations
VFS_UNLINK and VFS_RENAME.
 
/trunk/uspace/srv/vfs/vfs_file.c
/trunk/uspace/srv/vfs/vfs_unlink.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_open.c
2590 6031 d 23 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start implementing VFS side of VFS_OPEN.
Add vfs_node.c to contain VFS node related internal functions.
 
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_register.c