Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
2641 6042 d 19 h jermar /trunk/uspace/srv/vfs/ VFS work.
During VFS_REGISTER, use strncmp() instead of strcmp().
Add one excessive convenience byte to vfs_info.name to support the
above-mentioned change. In case the fs name spans all available
characters, make sure this convenience byte is zero.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_register.c
2640 6044 d 13 h cejka /trunk/uspace/lib/libc/ Function strncmp() added to libc.  
/trunk/uspace/lib/libc/generic/string.c
/trunk/uspace/lib/libc/include/string.h
2639 6051 d 14 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Foundation for FAT dentry comparison function.
Beware of looking at the diff or risk loosing sanity.
 
/trunk/uspace/srv/fs/fat/fat_ops.c
2638 6052 d 16 h jermar /trunk/ Sync IPC comments with IPC code.  
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
2637 6052 d 17 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
2636 6054 d 16 h jermar /trunk/ Update comments wrt the previous commit.
Minor formatting fixes.
 
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/lib/libc/generic/ipc.c
2635 6054 d 17 h cejka /trunk/ Function ipc_connect_me_to sends 3 user defined arguments now.
One argument added also to ipc_forward_fast.
Fixed devmap and improved its test.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/app/tester/devmap/devmap1.c
/trunk/uspace/app/tester/ipc/connect.c
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/io/stream.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/devmap/devmap.h
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/ns/ns.c
/trunk/uspace/srv/vfs/vfs_read.c
2629 6061 d 15 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT directory entry.
 
/trunk/uspace/srv/fs/fat/fat.h
2628 6061 d 16 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT boot sector.
 
/trunk/uspace/srv/fs/fat/fat.h
2627 6061 d 17 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Start VFS_LOOKUP support in FAT.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.c
2625 6062 d 18 h jermar /trunk/uspace/srv/vfs/ VFS work.
Proto implementation of VFS_READ.
 
/trunk/uspace/srv/vfs/vfs_read.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2624 6062 d 18 h jermar /trunk/uspace/srv/vfs/ Add sanity checks to functions using file descriptors as indices into files.  
/trunk/uspace/srv/vfs/vfs_file.c
2622 6062 d 23 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
2621 6064 d 21 h jermar /trunk/uspace/ Modify the async framework to make use of all six syscall arguments.
Supply user-friendly macros as in previous cases.
 
/trunk/uspace/app/tetris/screen.c
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/io/stream.c
/trunk/uspace/lib/libc/include/async.h
/trunk/uspace/srv/console/console.c
/trunk/uspace/srv/console/gcons.c
/trunk/uspace/srv/kbd/arch/ia32/src/mouse.c
/trunk/uspace/srv/kbd/generic/kbd.c
2620 6065 d 4 h jermar /trunk/ Be more deterministic when a user accidently uses fast version of IPC
call/answer instead of the full one and passes fewer arguments than required by
the recipient of the call/response.

and the recipient interprets arguments that
were actually not passed by the sender.
 
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/uspace/lib/libc/generic/ipc.c
2619 6066 d 15 h jermar /trunk/ Modify ipc_answer_*() to make use of all six syscall arguments. The recommended
means of answering calls is via the ipc_answer_m() macros (where m denotes the
number of return arguments) that automatically decide between the fast register
version or the slow universal version of ipc_answer().
 
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/uspace/app/tester/ipc/answer.c
/trunk/uspace/app/tester/ipc/register.c
/trunk/uspace/app/tester/ipc/send_async.c
/trunk/uspace/lib/libc/generic/async.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/ega.c
/trunk/uspace/srv/fb/fb.c
/trunk/uspace/srv/fb/main.c
/trunk/uspace/srv/fb/sysio.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_mount.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_register.c
2618 6067 d 4 h jermar /trunk/ Modify asynchronous IPC to make use of all six syscall arguments. The preferred
means of asynchronous communication is now via the set of ipc_call_async_m()
macros, where m is the number of payload arguments passed to the kernel. These
macros will automatically decide between the fast and the universal slow version
of ipc_call_async.
 
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/uspace/app/tester/ipc/send_async.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
/trunk/uspace/srv/console/console.c
2616 6067 d 20 h jermar /trunk/uspace/lib/libc/ usleep() should return int. Non-void functions really should return a value, so
fix sleep() to always return 0.
 
/trunk/uspace/lib/libc/generic/time.c
/trunk/uspace/lib/libc/include/unistd.h
2615 6068 d 1 h jermar /trunk/ Modify synchronous IPC to make use of all six syscall arguments. The preferred
means of synchronous communication is now via the set of ipc_call_sync_m_n()
macros, where m is the number of payload arguments passed to the kernel and n is
the number of return values. These macros will automatically decide between the
fast and the universal slow version of ipc_call_sync.
 
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/uspace/app/klog/klog.c
/trunk/uspace/app/tester/ipc/send_sync.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/srv/fs/fat/fat.c
2613 6069 d 17 h jermar /trunk/ Support for six syscall arguments for ia32.  
/trunk/uspace/lib/libc/arch/ia32/src/syscall.S
/trunk/uspace/lib/libc/arch/ia32/src/syscall.c
/trunk/kernel/arch/ia32/src/asm.S
/trunk/uspace/lib/libc/arch/ia32/Makefile.inc
/trunk/uspace/lib/libc/arch/ia32/src/fibril.S
2611 6069 d 23 h jermar /trunk/ Support for six syscall arguments for arm32.  
/trunk/kernel/arch/arm32/src/exception.c
/trunk/uspace/lib/libc/arch/arm32/src/syscall.c
2610 6070 d 20 h jermar /trunk/ Support for six syscall arguments for sparc64.
There is a minor stability issue which needs to be fixed (kernel panics upon entering kconsole from the
console task).
 
/trunk/kernel/arch/sparc64/include/syscall.h
/trunk/kernel/arch/sparc64/src/trap/syscall.c
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/stack.h
/trunk/kernel/arch/sparc64/include/trap/syscall.h
/trunk/kernel/arch/sparc64/include/trap/trap_table.h
/trunk/kernel/arch/sparc64/src/trap/trap_table.S
/trunk/uspace/lib/libc/arch/sparc64/include/syscall.h
2609 6070 d 20 h jermar /trunk/uspace/lib/libc/arch/ppc32/src/ Support for six syscall arguments for ppc32.  
/trunk/uspace/lib/libc/arch/ppc32/src/syscall.c
2608 6070 d 21 h jermar /trunk/ Support for six syscall arguments on ia64.

--iSupis line, and those below, will be ignored--

M kernel/arch/ia64/include/interrupt.h
M kernel/arch/ia64/src/ivt.S
M kernel/arch/ia64/src/interrupt.c
M uspace/lib/libc/arch/ia64/src/syscall.S
 
/trunk/kernel/arch/ia64/include/interrupt.h
/trunk/kernel/arch/ia64/src/interrupt.c
/trunk/kernel/arch/ia64/src/ivt.S
/trunk/uspace/lib/libc/arch/ia64/src/syscall.S
2607 6070 d 21 h jermar /trunk/ Support for six syscall arguments on mips32.  
/trunk/kernel/arch/mips32/include/stack.h
/trunk/kernel/arch/mips32/src/start.S
/trunk/uspace/lib/libc/arch/mips32/src/syscall.c
2606 6070 d 21 h jermar /trunk/ Support for 6 syscalls arguments on amd64.  
/trunk/kernel/arch/amd64/include/proc/thread.h
/trunk/kernel/arch/amd64/src/asm_utils.S
/trunk/kernel/arch/amd64/src/proc/scheduler.c
/trunk/kernel/arch/amd64/src/proc/thread.c
/trunk/kernel/arch/amd64/src/syscall.c
/trunk/uspace/lib/libc/arch/amd64/src/fibril.S
/trunk/uspace/lib/libc/arch/amd64/src/syscall.S
2605 6070 d 21 h jermar /trunk/ Start support for six syscall arguments.
This breaks all architectures.
 
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/uspace/lib/libc/include/libc.h
/trunk/uspace/lib/libc/include/syscall.h
2602 6074 d 23 h jermar /trunk/ Work around the way symtab.data section is constructed.
This fixes building of ia64.
 
/trunk/kernel/Makefile
/trunk/kernel/arch/arm32/Makefile.inc
/trunk/kernel/arch/ia64/Makefile.inc
/trunk/uspace/lib/libc/arch/ia64/Makefile.inc
2600 6076 d 0 h jermar /trunk/uspace/srv/vfs/ VFS work.
vfs_grab_phone() must disable fibril preemption in order to avoid deadlock with
other fibrils of the same thread that might be trying to vfs_grab_phone() too.
 
/trunk/uspace/srv/vfs/vfs_register.c
2598 6078 d 4 h jermar /trunk/uspace/srv/devmap/ Cstyle fixes.  
/trunk/uspace/srv/devmap/devmap.c
2597 6079 d 18 h jermar /trunk/uspace/srv/vfs/ VFS work.
Increment reference counters for the VFS nodes representing the mount point and
the root of the mounted filesystem, respectively, during VFS_MOUNT. Take the
unlink_futex when transforming the triplet into a VFS node.
 
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_unlink.c
2596 6080 d 19 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
2595 6080 d 19 h jermar /trunk/uspace/lib/libc/include/libadt/ Formatting of uspace hash_table.h.  
/trunk/uspace/lib/libc/include/libadt/hash_table.h
2594 6081 d 16 h cejka /trunk/uspace/ New version of device mapper.
Added devmap test to tester.
 
/trunk/uspace/app/tester/devmap
/trunk/uspace/app/tester/devmap/devmap1.c
/trunk/uspace/app/tester/devmap/devmap1.def
/trunk/uspace/app/tester/Makefile
/trunk/uspace/app/tester/tester.c
/trunk/uspace/app/tester/tester.h
/trunk/uspace/srv/devmap/devmap.c
/trunk/uspace/srv/devmap/devmap.h
/trunk/uspace/srv/ns/ns.c
2593 6082 d 17 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
2592 6082 d 20 h jermar /trunk/uspace/lib/libc/include/ assert.h should include stdio.h  
/trunk/uspace/lib/libc/include/assert.h
2591 6082 d 20 h jermar /trunk/uspace/lib/libc/arch/ppc64/src/ Fix file included by ppc64's tls.c.  
/trunk/uspace/lib/libc/arch/ppc64/src/tls.c
2590 6083 d 20 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
2589 6083 d 21 h jermar /trunk/uspace/srv/vfs/ VFS work.

Allocate the open filess array dynamically and protect access to it via a
per-connection futex. Defer its allocation until the client makes a first
VFS_OPEN request.

Actually call vfs_mount() and vfs_open(), respectively, when the VFS_MOUNT and
VFS_OPEN requests, respectively, are received from the client.
 
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_open.c
2588 6083 d 22 h jermar /trunk/uspace/ Add ipc_answer_fast_[01] macros so that ipc_answer_fast() users don't have to
write zero arguments all the time.
 
/trunk/uspace/lib/libc/include/ipc/ipc.h
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/ns/ns.c
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_register.c