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
2590 6117 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
2589 6117 d 6 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 6117 d 7 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 6117 d 7 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 6120 d 23 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
2585 6120 d 23 h cejka /trunk/ Better fix of labels in configuration script.  
/trunk/kernel/kernel.config
/trunk/tools/config.py
2584 6121 d 0 h cejka /trunk/kernel/ Fixed labels for framebuffer options used by build script.  
/trunk/kernel/kernel.config
2583 6123 d 0 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 6123 d 1 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 6123 d 1 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 6123 d 1 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
2579 6123 d 1 h jermar /trunk/kernel/arch/ia64/ Binutils 2.18 will refuse to link elf64-little with elf64-ia64-little.
Change BFD_NAME from elf64-little to elf64-ia64-little.
 
/trunk/kernel/arch/ia64/Makefile.inc
2578 6123 d 4 h jermar /trunk/contrib/toolchain/ Upgrade toolchain scripts to use binutils 2.18 and gcc 4.2.2.  
/trunk/contrib/toolchain/toolchain.amd64.sh
/trunk/contrib/toolchain/toolchain.arm32.sh
/trunk/contrib/toolchain/toolchain.ia32.sh
/trunk/contrib/toolchain/toolchain.ia64.sh
/trunk/contrib/toolchain/toolchain.mipseb32.sh
/trunk/contrib/toolchain/toolchain.mipsel32.sh
/trunk/contrib/toolchain/toolchain.ppc32.sh
/trunk/contrib/toolchain/toolchain.ppc64.sh
/trunk/contrib/toolchain/toolchain.sparc64.sh
2577 6125 d 1 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 6125 d 2 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
2575 6125 d 2 h jermar /trunk/kernel/arch/ia32/src/ Formatting fixes.  
/trunk/kernel/arch/ia32/src/userspace.c
2574 6125 d 2 h jermar /trunk/kernel/generic/src/lib/ Fix elf.c's formatting and add code that can be later enhanced and used to
remember task's TLS section alignment, address and size.
 
/trunk/kernel/generic/src/lib/elf.c
2573 6128 d 3 h jermar /trunk/kernel/generic/include/lib/ Add SHF_TLS ELF section header flag.
This will be needed for detecting alignment of TLS sections of userspace tasks
loaded at runtime.
 
/trunk/kernel/generic/include/lib/elf.h
2572 6146 d 17 h jermar /trunk/kernel/ Remove duplicit implementation of strlen() in kernel, rename is_digit(),
is_white() and co. to their standard names (e.g. isdigit(), isspace()) and
remove duplicit implementation of isdigit(). Fix cstyle in kernel printf()
implementation.
 
/trunk/kernel/genarch/src/kbd/key.c
/trunk/kernel/generic/include/macros.h
/trunk/kernel/generic/src/console/kconsole.c
/trunk/kernel/generic/src/printf/printf_core.c
2571 6147 d 7 h jermar /trunk/kernel/generic/src/printf/ Fix the string printing precision bug also in the kernel.  
/trunk/kernel/generic/src/printf/printf_core.c
2570 6147 d 7 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 6147 d 9 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 6148 d 15 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 6148 d 15 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 6148 d 15 h jermar /trunk/uspace/srv/console/ Fix cstyle in console.c.  
/trunk/uspace/srv/console/console.c
2565 6148 d 15 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 6148 d 15 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
2563 6151 d 14 h vana /trunk/ Support for new gcc 4.2.1 on IA64  
/trunk/boot/arch/ia64/loader/pack
/trunk/contrib/toolchain/toolchain.ia64.sh
2562 6151 d 14 h vana /trunk/boot/arch/ia64/loader/ IA64: Force gcc to build position dependend code (not to use gp register to count global data adresses). Because PIC code should adress only 2M of data.  
/trunk/boot/arch/ia64/loader/Makefile
2561 6151 d 14 h vana /trunk/boot/arch/ia64/loader/ Fix section selection notation  
/trunk/boot/arch/ia64/loader/boot.S
2560 6152 d 4 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
2559 6152 d 6 h vana /trunk/boot/arch/ia64/loader/ Fill loader stack not to be used by linker to store data  
/trunk/boot/arch/ia64/loader/boot.S
2558 6152 d 6 h vana /trunk/boot/arch/ia64/loader/ Rename section bss in loader to .bss to be correct linked  
/trunk/boot/arch/ia64/loader/boot.S
2557 6152 d 9 h jermar /trunk/kernel/generic/src/ipc/ Enable forwarding of IPC_M_AS_AREA_SEND, IPC_M_AS_AREA_RECV, IPC_M_DATA_SEND
calls. In order to prevent the forwarder from cloberring the call data (i.e.
source and destination address, and size) by treating these three methods as
immutable on forward. This feature is experimental, but has huge benefits in
that it can significantly reduce the amount of data sharing (the middle man need
not modify its address space mappings) or the amount of data copying (the middle
man need not receive the data from the sender and then resend them to the next
recipient). As a result, it can reduce N such calls for a communication channel
with N tasks along the way to 1 such call.
 
/trunk/kernel/generic/src/ipc/sysipc.c
2556 6152 d 11 h jermar /trunk/kernel/generic/ Rename as_get_size() to as_area_get_size() and add a doxygen comment.  
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/mm/as.c
2555 6152 d 23 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 6153 d 0 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 6153 d 1 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 6153 d 2 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
2551 6153 d 4 h cejka /trunk/ DevMap, VFS and FAT added to boot images for all architectures.  
/trunk/boot/arch/arm32/loader/Makefile
/trunk/boot/arch/ia32/Makefile.inc
/trunk/boot/arch/ia32/grub/menu.lst
/trunk/boot/arch/ia32xen/Makefile.inc
/trunk/boot/arch/ia32xen/grub/menu.lst
/trunk/boot/arch/ia64/loader/Makefile
/trunk/boot/arch/mips32/loader/Makefile
/trunk/boot/arch/ppc32/loader/Makefile
/trunk/boot/arch/ppc64/loader/Makefile
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/contrib/conf/ski.conf