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
2588 6076 d 16 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
2587 6076 d 16 h jermar /trunk/uspace/srv/vfs/ VFS work.
Introduce the notion of VFS_PAIR which corresponds to a file system instance,
and VFS_TRIPLET, which corresponds to a file system node. Separate vfs_triplet_t
and vfs_node_t as the former one is the stateless counterpart of the latter.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_mount.c
2586 6080 d 8 h jermar /trunk/uspace/lib/libc/ Unify implementations of TLS variant I and variant II __alloc_tls() and
__free_tls_arch().
 
/trunk/uspace/lib/libc/arch/amd64/include/tls.h
/trunk/uspace/lib/libc/arch/amd64/src/tls.c
/trunk/uspace/lib/libc/arch/arm32/include/tls.h
/trunk/uspace/lib/libc/arch/arm32/src/tls.c
/trunk/uspace/lib/libc/arch/ia32/include/tls.h
/trunk/uspace/lib/libc/arch/ia32/src/tls.c
/trunk/uspace/lib/libc/arch/ia64/include/tls.h
/trunk/uspace/lib/libc/arch/ia64/src/tls.c
/trunk/uspace/lib/libc/arch/mips32/include/tls.h
/trunk/uspace/lib/libc/arch/mips32/src/tls.c
/trunk/uspace/lib/libc/arch/mips32eb/include/tls.h
/trunk/uspace/lib/libc/arch/ppc32/include/tls.h
/trunk/uspace/lib/libc/arch/ppc32/src/tls.c
/trunk/uspace/lib/libc/arch/ppc64/include/tls.h
/trunk/uspace/lib/libc/arch/ppc64/src/tls.c
/trunk/uspace/lib/libc/arch/sparc64/include/tls.h
/trunk/uspace/lib/libc/arch/sparc64/src/tls.c
/trunk/uspace/lib/libc/generic/tls.c
/trunk/uspace/lib/libc/include/tls.h
/trunk/uspace/lib/libc/arch/amd64/src/thread.c
/trunk/uspace/lib/libc/arch/arm32/src/thread.c
/trunk/uspace/lib/libc/arch/ia32/src/thread.c
/trunk/uspace/lib/libc/arch/ia64/src/thread.c
/trunk/uspace/lib/libc/arch/mips32/src/thread.c
/trunk/uspace/lib/libc/arch/ppc32/src/thread.c
/trunk/uspace/lib/libc/arch/ppc64/src/thread.c
/trunk/uspace/lib/libc/arch/sparc64/src/thread.c
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/arch/amd64/Makefile.inc
/trunk/uspace/lib/libc/arch/amd64/include/thread.h
/trunk/uspace/lib/libc/arch/arm32/Makefile.inc
/trunk/uspace/lib/libc/arch/arm32/include/thread.h
/trunk/uspace/lib/libc/arch/ia32/Makefile.inc
/trunk/uspace/lib/libc/arch/ia32/include/thread.h
/trunk/uspace/lib/libc/arch/ia64/Makefile.inc
/trunk/uspace/lib/libc/arch/ia64/include/thread.h
/trunk/uspace/lib/libc/arch/mips32/Makefile.inc
/trunk/uspace/lib/libc/arch/mips32/include/thread.h
/trunk/uspace/lib/libc/arch/mips32eb/Makefile.inc
/trunk/uspace/lib/libc/arch/ppc32/Makefile.inc
/trunk/uspace/lib/libc/arch/ppc32/include/thread.h
/trunk/uspace/lib/libc/arch/ppc64/Makefile.inc
/trunk/uspace/lib/libc/arch/ppc64/include/thread.h
/trunk/uspace/lib/libc/arch/sparc64/Makefile.inc
/trunk/uspace/lib/libc/arch/sparc64/include/thread.h
/trunk/uspace/lib/libc/generic/fibril.c
/trunk/uspace/lib/libc/generic/libc.c
/trunk/uspace/lib/libc/generic/thread.c
/trunk/uspace/lib/libc/include/fibril.h
/trunk/uspace/lib/libc/include/thread.h
2583 6082 d 9 h jermar /trunk/uspace/lib/libc/arch/mips32/ Change BFD_NAME from elf32-little to elf32-tradlittlemips.  
/trunk/uspace/lib/libc/arch/mips32/Makefile.inc
2582 6082 d 9 h jermar /trunk/ Change BFD_TARGET from elf32-little to elf32-littlearm.  
/trunk/kernel/arch/arm32/Makefile.inc
/trunk/uspace/lib/libc/arch/arm32/Makefile.inc
2581 6082 d 10 h jermar /trunk/uspace/lib/libc/ For architectures that make use of TLS variant II (i.e. amd64, ia32 and
sparc64), fix the way TLS and TCB is allocated. Now, TLS is allocated using
memalign() with the alignment specified in _tls_alignment. Size of TLS data
itself is rounded up to be a multiple of _tls_alignment.
 
/trunk/uspace/lib/libc/arch/amd64/src/thread.c
/trunk/uspace/lib/libc/arch/sparc64/src/thread.c
/trunk/uspace/lib/libc/include/thread.h
2580 6082 d 10 h jermar /trunk/uspace/lib/libc/arch/ In all architectures' uspace linker scripts, define the _tls_alignment symbol.  
/trunk/uspace/lib/libc/arch/amd64/_link.ld.in
/trunk/uspace/lib/libc/arch/arm32/_link.ld.in
/trunk/uspace/lib/libc/arch/ia32/_link.ld.in
/trunk/uspace/lib/libc/arch/ia64/_link.ld.in
/trunk/uspace/lib/libc/arch/mips32/_link.ld.in
/trunk/uspace/lib/libc/arch/ppc32/_link.ld.in
/trunk/uspace/lib/libc/arch/ppc64/_link.ld.in
/trunk/uspace/lib/libc/arch/sparc64/_link.ld.in
2577 6084 d 10 h jermar /trunk/ Build system fixes.
Continue cleaning uspace even if cleanup of one component fails.
Remove main Makefile.config after boot, kernel and uspace are cleaned because
cleaning of these components might depend on variables set in the main
Makefile.config.
 
/trunk/Makefile
/trunk/uspace/Makefile
2576 6084 d 11 h jermar /trunk/uspace/srv/vfs/ Specify the width of the printed text in an argument to printf().  
/trunk/uspace/srv/vfs/vfs_register.c
2570 6106 d 16 h jermar /trunk/uspace/lib/libc/generic/io/ Fix a bug in interpretation of precision when printing strings. Fix cstyle.  
/trunk/uspace/lib/libc/generic/io/printf_core.c
2569 6106 d 18 h jermar /trunk/uspace/ Tiny refinement of if-else_if-else statement in vfs_register.c.  
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs_mount.c
2568 6108 d 0 h jermar /trunk/uspace/ Rename fibril_schedule_next_adv() to fibril_switch(). Rename
fibril_schedule_next() to fibril_yield(). Some fibril structures could be
uninitialized, set them to zero in fibril_setup(). For some fibrils, the stack
member can be NULL (e.g. every thread's first/main fibril); don't do free on
these stacks when cleaning up after a dead fibril.
 
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/fibril.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/generic/thread.c
/trunk/uspace/lib/libc/include/async.h
/trunk/uspace/lib/libc/include/fibril.h
/trunk/uspace/srv/fs/fat/fat.c
2567 6108 d 0 h jermar /trunk/uspace/srv/vfs/ Don't explicitly answer the IPC_M_DATA_SEND call in VFS_REGISTER.
It is done automatically in ipc_data_deliver().
 
/trunk/uspace/srv/vfs/vfs_register.c
2566 6108 d 0 h jermar /trunk/uspace/srv/console/ Fix cstyle in console.c.  
/trunk/uspace/srv/console/console.c
2565 6108 d 0 h jermar /trunk/uspace/lib/libc/malloc/ Make uspace malloc() verbose when it aborts due to inconsistencies.  
/trunk/uspace/lib/libc/malloc/malloc.c
2564 6108 d 0 h jermar /trunk/uspace/lib/libc/ Support for time() function.  
/trunk/uspace/lib/libc/include/time.h
/trunk/uspace/lib/libc/generic/time.c
/trunk/uspace/lib/libc/include/sys/time.h
2560 6111 d 12 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start VFS_OPEN.
 
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2555 6112 d 7 h cejka /trunk/uspace/srv/devmap/ Added message forwarding to device mapper.  
/trunk/uspace/srv/devmap/devmap.c
/trunk/uspace/srv/devmap/devmap.h
2554 6112 d 8 h jermar /trunk/uspace/srv/vfs/ VFS work.
Add the missing bits of VFS-side VFS_MOUNT.
 
/trunk/uspace/srv/vfs/vfs_mount.c
2553 6112 d 10 h jermar /trunk/uspace/srv/vfs/ VFS work.
Prevent race conditions when checking rootfs by taking a newly introduced
rootfs_futex.
 
/trunk/uspace/srv/vfs/vfs_mount.c
2552 6112 d 10 h jermar /trunk/uspace/srv/vfs/ VFS work.
This is a checkpoint commit.
It introduces initial, still incomplete, code for VFS-side VFS_MOUNT request.
 
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_mount.c
2550 6112 d 14 h cejka /trunk/ Fixed naming convention in IPC.  
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/uspace/lib/libc/include/ipc/fb.h
/trunk/uspace/srv/devmap/devmap.c
/trunk/uspace/srv/devmap/devmap.h
/trunk/uspace/srv/vfs/vfs.h
2549 6112 d 16 h jermar /trunk/uspace/srv/vfs/ VFS work.

Modify vfs_lookup_internal() to be able to work with an alternate root. This
will be useful for VFS_MOUNT support.

Improve observability and debuggability by explicitly zeroing out PLB after the
path has been looked up.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_register.c
2548 6112 d 17 h jermar /trunk/uspace/srv/vfs/ VFS work.
Add fs_name_to_handle() function to abstract away the details of walking the
list of registered file systems, and in order to avoid code duplication.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_register.c
2547 6112 d 17 h cejka /trunk/ Added basic support for device mapper.  
/trunk/uspace/srv/devmap
/trunk/uspace/srv/devmap/Makefile
/trunk/uspace/srv/devmap/devmap.c
/trunk/uspace/srv/devmap/devmap.h
/trunk/boot/arch/mips32/loader/Makefile
/trunk/uspace/Makefile
/trunk/uspace/lib/libc/include/ipc/services.h
2546 6112 d 20 h jermar /trunk/uspace/srv/ VFS work.
Upon FS registration via VFS_REGISTER, the client is assigned a unique file
system handle. When generating the VFS_LOOKUP request in VFS, we also need to
pass the device handle. Add function to transform file system handle to phone.
Implement basic multi-call VFS request serialization on VFS side.
 
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_register.c
2544 6113 d 12 h jermar /trunk/uspace/srv/vfs/ VFS work.
Proto implementation of VFS-side vfs_lookup_internal().
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
2543 6113 d 15 h jermar /trunk/uspace/srv/ VFS work.
Modify the protocol so that VFS and FAT (or any other FS) have to share the Path
Lookup Buffer in read-only mode.
 
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs_register.c
2542 6113 d 18 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start support for the Patch Lookup Buffer.
Also add rootfs pointer.
 
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2541 6113 d 18 h jermar /trunk/uspace/ Header cleanup.
Move off_t, size_t and ssize_t into sys/types.h.
Get rid off the non-standard and dummy types.h.
 
/trunk/uspace/lib/libc/include/types.h
/trunk/uspace/app/tester/tester.h
/trunk/uspace/lib/libc/arch/amd64/include/fibril.h
/trunk/uspace/lib/libc/arch/amd64/include/types.h
/trunk/uspace/lib/libc/arch/arm32/include/fibril.h
/trunk/uspace/lib/libc/arch/arm32/include/types.h
/trunk/uspace/lib/libc/arch/ia32/include/fibril.h
/trunk/uspace/lib/libc/arch/ia32/include/stackarg.h
/trunk/uspace/lib/libc/arch/ia32/include/types.h
/trunk/uspace/lib/libc/arch/ia64/include/fibril.h
/trunk/uspace/lib/libc/arch/ia64/include/types.h
/trunk/uspace/lib/libc/arch/mips32/include/fibril.h
/trunk/uspace/lib/libc/arch/mips32/include/stackarg.h
/trunk/uspace/lib/libc/arch/mips32/include/types.h
/trunk/uspace/lib/libc/arch/ppc32/include/fibril.h
/trunk/uspace/lib/libc/arch/ppc32/include/types.h
/trunk/uspace/lib/libc/arch/ppc64/include/fibril.h
/trunk/uspace/lib/libc/arch/ppc64/include/types.h
/trunk/uspace/lib/libc/arch/sparc64/include/atomic.h
/trunk/uspace/lib/libc/arch/sparc64/include/fibril.h
/trunk/uspace/lib/libc/arch/sparc64/include/syscall.h
/trunk/uspace/lib/libc/arch/sparc64/include/types.h
/trunk/uspace/lib/libc/generic/as.c
/trunk/uspace/lib/libc/generic/futex.c
/trunk/uspace/lib/libc/generic/io/stream.c
/trunk/uspace/lib/libc/generic/mman.c
/trunk/uspace/lib/libc/generic/string.c
/trunk/uspace/lib/libc/include/as.h
/trunk/uspace/lib/libc/include/async.h
/trunk/uspace/lib/libc/include/bitops.h
/trunk/uspace/lib/libc/include/futex.h
/trunk/uspace/lib/libc/include/io/io.h
/trunk/uspace/lib/libc/include/io/printf_core.h
/trunk/uspace/lib/libc/include/ipc/ipc.h
/trunk/uspace/lib/libc/include/libc.h
/trunk/uspace/lib/libc/include/stdarg.h
/trunk/uspace/lib/libc/include/stddef.h
/trunk/uspace/lib/libc/include/stdint.h
/trunk/uspace/lib/libc/include/stdio.h
/trunk/uspace/lib/libc/include/string.h
/trunk/uspace/lib/libc/include/sys/mman.h
/trunk/uspace/lib/libc/include/sys/time.h
/trunk/uspace/lib/libc/include/sys/types.h
/trunk/uspace/lib/libc/include/syscall.h
/trunk/uspace/lib/libc/include/task.h
/trunk/uspace/lib/libc/include/thread.h
/trunk/uspace/lib/libc/include/unistd.h
/trunk/uspace/srv/fb/ppm.c
/trunk/uspace/srv/fb/ppm.h
/trunk/uspace/srv/kbd/arch/sparc64/src/kbd.c
/trunk/uspace/srv/kbd/include/key_buffer.h
/trunk/uspace/srv/pci/libpci/types.h
2540 6114 d 8 h jermar /trunk/uspace/srv/vfs/ VFS work.
Introduce basic types representing a file system node and an open file.
 
/trunk/uspace/srv/vfs/vfs.h
2539 6114 d 15 h jermar /trunk/uspace/srv/console/ Cstyle and other minor fixes in the console code.  
/trunk/uspace/srv/console/console.c
2536 6118 d 10 h jermar /trunk/uspace/srv/ VFS work.

Describe the bottleneck of one VFS-FS connection in fat.c. Add a comment
outlining possible approaches.

Also in fat.c, the async_create_manager() _must_ be called as well as
async_set_client_connection(). The latter alows VFS to duplicate the connection.
Modify fat_connection() to ACK all IPC_M_CONNECT_ME_TO calls.
 
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/vfs/vfs_register.c
2535 6120 d 14 h jermar /trunk/uspace/srv/vfs/ Move VFS_REGISTER functionality into a separate file.  
/trunk/uspace/srv/vfs/vfs_register.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2534 6120 d 14 h jermar /trunk/uspace/ In async_new_connection(), be more robust in the case that the function
is called by the server directly after its client accepts the
IPC_M_CONNECT_TO_ME call.

In fat.c main(), kill the "main" fibril and switch to the connection
fibril.
 
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/srv/fs/fat/fat.c
2533 6121 d 10 h jermar /trunk/uspace/srv/fs/fat/ No need to call async_manager() at the end of fat.c's main().  
/trunk/uspace/srv/fs/fat/fat.c
2532 6121 d 12 h jermar /trunk/ VFS work.

The VFS_REGISTER is now fully implemented by both vfs and fat servers. Thanks to
the debugging dprintf()'s, I was able to fix little errors here and there to
make them actually work.

Modified vfs and fat service makefiles so that the two are not built as drivers
and can therefore print to standard output. Added many debugging dprintf()'s.

Change the amd64 boot configuration to load vfs and fat.
 
/trunk/boot/arch/amd64/Makefile.inc
/trunk/boot/arch/amd64/grub/menu.lst
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
2531 6122 d 11 h jermar /trunk/uspace/ VFS work.
Implement VFS_REGISTER part of the protocol in the FAT file system.

IPC work.
Rename ipc_data_send_accept() to ipc_data_receive() and ipc_data_send_answer()
to ipc_data_deliver(). Introduce ipc_data_send().
 
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/async.h
/trunk/uspace/lib/libc/include/ipc/ipc.h
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/vfs/vfs.c
2530 6123 d 2 h jermar /trunk/uspace/lib/libc/generic/ Pseudo thread -> fibril change in several comments.  
/trunk/uspace/lib/libc/generic/ipc.c
2529 6123 d 13 h jermar /trunk/uspace/ Turn the empty fs service into the beginning of FAT support.
Start implementing the VFS protocol for fat.c.
 
/trunk/uspace/srv/fs/fat
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/Makefile
/trunk/uspace/srv/fs/fs.c
/trunk/uspace/Makefile
/trunk/uspace/lib/libc/include/ipc/services.h
/trunk/uspace/srv/vfs/vfs.h