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
2537 6131 d 19 h vana /trunk/kernel/arch/ia64/include/drivers/ IA64 keyboard lost headerfile  
/trunk/kernel/arch/ia64/include/drivers/i8042.h
2536 6133 d 9 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 6135 d 12 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 6135 d 13 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 6136 d 9 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 6136 d 10 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 6137 d 9 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 6138 d 0 h jermar /trunk/uspace/lib/libc/generic/ Pseudo thread -> fibril change in several comments.  
/trunk/uspace/lib/libc/generic/ipc.c
2529 6138 d 12 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
2528 6138 d 12 h jermar /trunk/uspace/lib/libc/ Modify parts of the build system and libc to support building applications on
paths with differing distances from lib/libc (e.g. uspace/srv/ns and
uspace/srv/fs/fat).
 
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/arch/amd64/_link.ld.in
/trunk/uspace/lib/libc/arch/arm32/Makefile.inc
/trunk/uspace/lib/libc/arch/arm32/_link.ld.in
/trunk/uspace/lib/libc/arch/ia32/_link.ld.in
/trunk/uspace/lib/libc/arch/ia64/Makefile.inc
/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
2527 6139 d 18 h jermar /trunk/ VFS work.

Added mandatory VFS_LOOKUP

Handling of VFS_REGISTER request should be now more or less complete.
Added code that inserts the new fs_info structure into the list of registered
filesystems and creates a callback connection to the client FS.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2526 6140 d 14 h jermar /trunk/uspace/ VFS work.
Delve deeper into VFS_REGISTER.
 
/trunk/uspace/lib/libc/include/ctype.h
/trunk/uspace/lib/libc/include/libadt/hash_table.h
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2525 6140 d 15 h jermar /trunk/uspace/lib/libc/include/ Implementation of isalnum().  
/trunk/uspace/lib/libc/include/ctype.h
2524 6140 d 15 h jermar /trunk/uspace/lib/libc/include/ Implementation of isalpha().  
/trunk/uspace/lib/libc/include/ctype.h
2523 6140 d 20 h jermar /trunk/ VFS work.

Now, each VFS connection fibril will accept requests in a loop. The idea is that
each connection will be potentially reused for multiple requests before it is
closed by the server.

More VFS_REGISTER bits. Make use of the IPC_M_DATA_SEND wrappers introduced in
the previous commit.

Add enum members for more VFS operations.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2522 6140 d 22 h jermar /trunk/uspace/lib/libc/ Add wrappers facilitating easy use of IPC_M_DATA_SEND calls and answers.  
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
2521 6142 d 9 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start implementing the VFS_REGISTER request.
 
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
2520 6142 d 10 h jermar /trunk/uspace/ VFS work.
Turn the dummy skeleton into a dummy skeleton that can handle connections.
There are already traces of the VFS protocol.
 
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/lib/libc/include/ipc/services.h
/trunk/uspace/srv/vfs/vfs.c
2519 6142 d 16 h vana /trunk/ Pack ski version of HelenOS to image.boot loader  
/trunk/boot/arch/ia64/Makefile.inc
/trunk/boot/arch/ia64/loader/Makefile
/trunk/boot/arch/ia64/loader/asm.S
/trunk/boot/arch/ia64/loader/boot.S
/trunk/kernel/arch/ia64/Makefile.inc
/trunk/kernel/arch/ia64/src/ia64.c
/trunk/kernel/arch/ia64/src/start.S
2518 6143 d 9 h jermar /trunk/uspace/ One occurrence of the left-over term 'pseudo thread' replaced with 'fibril' in
the rd task.

Start the vfs task. Now it is dummy, but integrated into the sources.
 
/trunk/uspace/srv/vfs
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/Makefile
/trunk/uspace/srv/rd/rd.c
2517 6145 d 17 h vana /trunk/kernel/arch/ia64/include/ Missing header file  
/trunk/kernel/arch/ia64/include/bootinfo.h
2516 6146 d 8 h vana /trunk/kernel/ IA64 rest of neaded changes to work with simics keyboard  
/trunk/kernel/arch/ia64/_link.ld.in
/trunk/kernel/arch/ia64/include/interrupt.h
/trunk/kernel/genarch/src/kbd/i8042.c
/trunk/kernel/kernel.config
2515 6146 d 8 h vana /trunk/kernel/arch/ia64/include/ IA64 legacy I/O  
/trunk/kernel/arch/ia64/include/asm.h
2514 6146 d 8 h vana /trunk/kernel/arch/ia64/ IA64 Makefile changes for simics  
/trunk/kernel/arch/ia64/Makefile.inc
2513 6146 d 8 h vana /trunk/kernel/arch/ia64/src/ IA64 simics keyboard support  
/trunk/kernel/arch/ia64/src/ia64.c
2512 6146 d 8 h vana /trunk/kernel/arch/ia64/src/ IA64 loader parameter  
/trunk/kernel/arch/ia64/src/start.S
2511 6146 d 9 h vana /trunk/ IA64 loader (based on sparc loader)  
/trunk/boot/arch/ia64/loader
/trunk/boot/arch/ia64/loader/Makefile
/trunk/boot/arch/ia64/loader/asm.S
/trunk/boot/arch/ia64/loader/asm.h
/trunk/boot/arch/ia64/loader/boot.S
/trunk/boot/arch/ia64/loader/main.c
/trunk/boot/arch/ia64/loader/main.h
/trunk/boot/arch/ia64/loader/pack
/trunk/boot/arch/ia64/loader/stack.h
/trunk/boot/arch/ia64/loader/types.h
/trunk/HelenOS.config
/trunk/boot/arch/ia64/Makefile.inc
/trunk/boot/arch/sparc64/loader/Makefile
2510 6150 d 9 h jermar /trunk/kernel/ Experimental support for the cgsix framebuffer, which is found on old Ultra 1
worksations, and the SBUS bus and devices. Not tested.
 
/trunk/kernel/genarch/src/ofw/sbus.c
/trunk/kernel/arch/sparc64/include/drivers/scr.h
/trunk/kernel/arch/sparc64/src/drivers/scr.c
/trunk/kernel/genarch/Makefile.inc
/trunk/kernel/genarch/include/ofw/ofw_tree.h
2509 6155 d 14 h jermar /trunk/ The wedding is over. Time to clean things up.  
/trunk/README.svatba
2508 6173 d 19 h vana /trunk/ Wedding commit  
/trunk/README.svatba
2507 6178 d 14 h jermar /trunk/boot/arch/sparc64/loader/ Fix sparc64 loader's pack script for use with gcc 4.2.1 by
avoiding pointer to int type casts so that the newer gcc doesn't emit a warning.
Due to the -Werror flags, such a warning would prevent a successful build.
 
/trunk/boot/arch/sparc64/loader/pack
2506 6178 d 15 h jermar /trunk/contrib/toolchain/ Update sparc64 toolchain script for gcc 4.2.1.  
/trunk/contrib/toolchain/toolchain.sparc64.sh
2505 6183 d 20 h jermar /trunk/kernel/genarch/src/softint/ Minor cleanup of softint.  
/trunk/kernel/genarch/src/softint/division.c
2504 6188 d 10 h jermar /trunk/kernel/generic/ Give the AVL tree walkers the possibility to take an argument.
Each walker is now supposed to return a bool value to support walk termination.

Switch over from the tasks_btree B+tree to tasks_tree AVL tree.
This makes the fix for ticket #48 complete.
 
/trunk/kernel/generic/include/adt/avl.h
/trunk/kernel/generic/include/proc/task.h
/trunk/kernel/generic/src/adt/avl.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
2503 6188 d 11 h jermar /trunk/kernel/generic/src/adt/ Get rid of code duplicities in the insert path into an AVL tree.  
/trunk/kernel/generic/src/adt/avl.c
2502 6188 d 15 h jermar /trunk/kernel/generic/ Replace the threads_btree B+tree with an AVL tree. The new variable is called
threads_tree. For printing list of threads, use the new AVL tree walker
mechanism.

This solves half of ticket #48.
 
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/src/proc/thread.c
2501 6188 d 15 h jermar /trunk/kernel/generic/ Add explicit type for an AVL tree key.
Add function to walk an AVL tree using a supplied walker.
 
/trunk/kernel/generic/include/adt/avl.h
/trunk/kernel/generic/src/adt/avl.c
2500 6188 d 17 h jermar /trunk/kernel/ Make the kernel compile again after integrating the AVL tree.
Integrate with tests, add the AVL tree implementation author into AUTHORS.
 
/trunk/kernel/Makefile
/trunk/kernel/doc/AUTHORS
/trunk/kernel/test/test.c
/trunk/kernel/test/test.h
2499 6188 d 18 h jermar /trunk/kernel/ Import the AVL tree implementation from the RCU branch.  
/trunk/kernel/generic/include/adt/avl.h
/trunk/kernel/generic/src/adt/avl.c
/trunk/kernel/test/avltree
2495 6205 d 13 h jermar /trunk/uspace/lib/libc/generic/io/ Formatting changes.  
/trunk/uspace/lib/libc/generic/io/stream.c