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
2591 6079 d 16 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 6080 d 16 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 6080 d 18 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 6080 d 18 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 6080 d 19 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 6084 d 10 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 6084 d 11 h cejka /trunk/ Better fix of labels in configuration script.  
/trunk/kernel/kernel.config
/trunk/tools/config.py
2584 6084 d 11 h cejka /trunk/kernel/ Fixed labels for framebuffer options used by build script.  
/trunk/kernel/kernel.config
2583 6086 d 11 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 6086 d 12 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 6086 d 12 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 6086 d 12 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 6086 d 12 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 6086 d 15 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 6088 d 12 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 6088 d 13 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 6088 d 13 h jermar /trunk/kernel/arch/ia32/src/ Formatting fixes.  
/trunk/kernel/arch/ia32/src/userspace.c
2574 6088 d 13 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 6091 d 14 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 6110 d 4 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 6110 d 18 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 6110 d 18 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 6110 d 20 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 6112 d 2 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 6112 d 2 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 6112 d 2 h jermar /trunk/uspace/srv/console/ Fix cstyle in console.c.  
/trunk/uspace/srv/console/console.c
2565 6112 d 2 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 6112 d 2 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 6115 d 1 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 6115 d 1 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 6115 d 1 h vana /trunk/boot/arch/ia64/loader/ Fix section selection notation  
/trunk/boot/arch/ia64/loader/boot.S
2560 6115 d 15 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 6115 d 17 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 6115 d 18 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 6115 d 21 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 6115 d 22 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 6116 d 10 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 6116 d 11 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 6116 d 12 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 6116 d 13 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