Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
3665 5684 d 23 h rimsky /branches/sparc/ Merged latest trunk changes into the sparc brach.  
/branches/sparc/boot/arch/ia64/loader/gefi/HelenOS/mkimage.c
/branches/sparc/kernel/arch/ia64/include/drivers/kbd.h
/branches/sparc/uspace/app/tester/loop
/branches/sparc/uspace/dist/readme
/branches/sparc/uspace/lib/libc/arch/ia64/include/ddi.h
/branches/sparc/uspace/lib/libc/arch/ia64/src/ddi.c
/branches/sparc/uspace/srv/kbd/arch/ia64/include/lkbd.h
/branches/sparc/uspace/srv/kbd/arch/ia64/include/scanc.h
/branches/sparc/uspace/srv/kbd/arch/ia64/src/lkbd.c
/branches/sparc/uspace/srv/kbd/arch/ia64/src/mouse.c
/branches/sparc/uspace/srv/kbd/arch/ia64/src/scanc.c
/branches/sparc/boot/arch/ia64/loader/gefi/HelenOS/hello.c
/branches/sparc/boot/arch/ia64/loader/main.c
/branches/sparc/kernel/Makefile
/branches/sparc/kernel/arch/ia32/src/asm.S
/branches/sparc/kernel/arch/ia64/include/bootinfo.h
/branches/sparc/kernel/arch/ia64/include/cpu.h
/branches/sparc/kernel/arch/ia64/include/interrupt.h
/branches/sparc/kernel/arch/ia64/include/mm/page.h
/branches/sparc/kernel/arch/ia64/include/mm/tlb.h
/branches/sparc/kernel/arch/ia64/include/proc/task.h
/branches/sparc/kernel/arch/ia64/src/ddi/ddi.c
/branches/sparc/kernel/arch/ia64/src/drivers/ega.c
/branches/sparc/kernel/arch/ia64/src/ia64.c
/branches/sparc/kernel/arch/ia64/src/interrupt.c
/branches/sparc/kernel/arch/ia64/src/mm/frame.c
/branches/sparc/kernel/arch/ia64/src/mm/tlb.c
/branches/sparc/kernel/arch/ia64/src/ski/ski.c
/branches/sparc/kernel/arch/ia64/src/smp/smp.c
/branches/sparc/kernel/arch/sparc64/include/drivers/fhc.h
/branches/sparc/kernel/arch/sparc64/include/drivers/pci.h
/branches/sparc/kernel/arch/sparc64/src/console.c
/branches/sparc/kernel/arch/sparc64/src/drivers/fhc.c
/branches/sparc/kernel/arch/sparc64/src/drivers/kbd.c
/branches/sparc/kernel/arch/sparc64/src/drivers/pci.c
/branches/sparc/kernel/arch/sparc64/src/trap/interrupt.c
/branches/sparc/kernel/genarch/include/kbd/ns16550.h
/branches/sparc/kernel/genarch/include/kbd/z8530.h
/branches/sparc/kernel/genarch/include/ofw/ofw_tree.h
/branches/sparc/kernel/genarch/src/kbd/i8042.c
/branches/sparc/kernel/genarch/src/kbd/ns16550.c
/branches/sparc/kernel/genarch/src/kbd/z8530.c
/branches/sparc/kernel/genarch/src/ofw/ebus.c
/branches/sparc/kernel/genarch/src/ofw/fhc.c
/branches/sparc/kernel/genarch/src/ofw/pci.c
/branches/sparc/kernel/generic/include/adt/bitmap.h
/branches/sparc/kernel/generic/include/byteorder.h
/branches/sparc/kernel/generic/include/ddi/irq.h
/branches/sparc/kernel/generic/include/ipc/kbox.h
/branches/sparc/kernel/generic/include/proc/task.h
/branches/sparc/kernel/generic/include/udebug/udebug.h
/branches/sparc/kernel/generic/src/ddi/irq.c
/branches/sparc/kernel/generic/src/interrupt/interrupt.c
/branches/sparc/kernel/generic/src/ipc/irq.c
/branches/sparc/kernel/generic/src/ipc/kbox.c
/branches/sparc/kernel/generic/src/ipc/sysipc.c
/branches/sparc/kernel/generic/src/mm/tlb.c
/branches/sparc/kernel/generic/src/proc/task.c
/branches/sparc/kernel/generic/src/proc/thread.c
/branches/sparc/kernel/generic/src/synch/futex.c
/branches/sparc/kernel/generic/src/syscall/syscall.c
/branches/sparc/kernel/generic/src/time/clock.c
/branches/sparc/kernel/generic/src/udebug/udebug.c
/branches/sparc/kernel/generic/src/udebug/udebug_ipc.c
/branches/sparc/kernel/generic/src/udebug/udebug_ops.c
/branches/sparc/kernel/kernel.config
/branches/sparc/usiii.simics
/branches/sparc/uspace/app/bdsh/cmds/modules/cp/cp.c
/branches/sparc/uspace/app/tester/Makefile
/branches/sparc/uspace/app/tester/tester.c
/branches/sparc/uspace/app/tester/tester.h
/branches/sparc/uspace/app/trace/trace.c
/branches/sparc/uspace/lib/libc/arch/ia64/Makefile.inc
/branches/sparc/uspace/lib/libc/include/ctype.h
/branches/sparc/uspace/lib/libc/include/errno.h
/branches/sparc/uspace/lib/libc/include/ipc/loader.h
/branches/sparc/uspace/lib/libfs/libfs.c
/branches/sparc/uspace/lib/libfs/libfs.h
/branches/sparc/uspace/srv/fb/Makefile
/branches/sparc/uspace/srv/fb/ega.c
/branches/sparc/uspace/srv/fs/fat/fat.c
/branches/sparc/uspace/srv/fs/fat/fat.h
/branches/sparc/uspace/srv/fs/fat/fat_dentry.c
/branches/sparc/uspace/srv/fs/fat/fat_dentry.h
/branches/sparc/uspace/srv/fs/fat/fat_fat.c
/branches/sparc/uspace/srv/fs/fat/fat_idx.c
/branches/sparc/uspace/srv/fs/fat/fat_ops.c
/branches/sparc/uspace/srv/fs/tmpfs/tmpfs_dump.c
/branches/sparc/uspace/srv/fs/tmpfs/tmpfs_ops.c
/branches/sparc/uspace/srv/kbd/Makefile
/branches/sparc/uspace/srv/kbd/arch/ia64/src/kbd.c
/branches/sparc/uspace/srv/vfs/vfs.h
/branches/sparc/uspace/srv/vfs/vfs_lookup.c
/branches/sparc/uspace/srv/vfs/vfs_node.c
/branches/sparc/uspace/srv/vfs/vfs_ops.c
3343 5790 d 5 h decky /branches/sparc/ add sparc branch  
/branches/sparc
2766 5953 d 2 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 5966 d 0 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 5972 d 0 h jermar /trunk/uspace/srv/vfs/ Initialize the VFS node properly.  
/trunk/uspace/srv/vfs/vfs_node.c
2731 5974 d 8 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 5975 d 11 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 6013 d 2 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 6014 d 1 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 6016 d 9 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 6020 d 2 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 6034 d 5 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 6077 d 5 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 6079 d 2 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 6080 d 5 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