Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
2624 |
6163 d 0 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
|
2623 |
6163 d 4 h |
jermar |
/trunk/kernel/generic/ |
Introduce the IPC_FF_ROUTE_FROM_ME forwarding flag. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c
|
2622 |
6163 d 4 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 |
6165 d 3 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 |
6165 d 10 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 |
6166 d 21 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 |
6167 d 10 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
|
2617 |
6168 d 2 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
STRUCT_TO_USPACE may fail in sys_ipc_call_sync_fast. |
|
/trunk/kernel/generic/src/ipc/sysipc.c
|
2616 |
6168 d 2 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 |
6168 d 6 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
|
2614 |
6169 d 4 h |
jermar |
/trunk/kernel/generic/include/ipc/ |
Grow the IPC data structures from 3 to 5 payload arguments.
No IPC API changes so far. |
|
/trunk/kernel/generic/include/ipc/ipc.h
|
2613 |
6169 d 23 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
|
2612 |
6169 d 23 h |
jermar |
/trunk/kernel/arch/ |
Cleanup. |
|
/trunk/kernel/arch/amd64/include/interrupt.h /trunk/kernel/arch/ia32/include/interrupt.h /trunk/kernel/arch/ia32/include/pm.h /trunk/kernel/arch/ia32/src/pm.c
|
2611 |
6170 d 5 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 |
6171 d 2 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 |
6171 d 2 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 |
6171 d 2 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 |
6171 d 2 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 |
6171 d 2 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 |
6171 d 2 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
|
2604 |
6172 d 2 h |
jermar |
/trunk/kernel/arch/amd64/src/ |
Fix register names in exception dump and cstyle. |
|
/trunk/kernel/arch/amd64/src/interrupt.c
|
2603 |
6175 d 5 h |
jermar |
/trunk/kernel/ |
Fix case. |
|
/trunk/kernel/Makefile
|
2602 |
6175 d 5 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
|
2601 |
6176 d 1 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Fix and improve two IPC related comments. |
|
/trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c
|
2600 |
6176 d 6 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
|
2599 |
6176 d 19 h |
decky |
/trunk/kernel/ |
replace prescott cpu type with currently more known category |
|
/trunk/kernel/arch/ia32/Makefile.inc /trunk/kernel/arch/ia32xen/Makefile.inc /trunk/kernel/kernel.config
|
2598 |
6178 d 10 h |
jermar |
/trunk/uspace/srv/devmap/ |
Cstyle fixes. |
|
/trunk/uspace/srv/devmap/devmap.c
|
2597 |
6180 d 0 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 |
6181 d 1 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 |
6181 d 1 h |
jermar |
/trunk/uspace/lib/libc/include/libadt/ |
Formatting of uspace hash_table.h. |
|
/trunk/uspace/lib/libc/include/libadt/hash_table.h
|
2594 |
6181 d 22 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 |
6182 d 23 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 |
6183 d 2 h |
jermar |
/trunk/uspace/lib/libc/include/ |
assert.h should include stdio.h |
|
/trunk/uspace/lib/libc/include/assert.h
|
2591 |
6183 d 2 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 |
6184 d 1 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 |
6184 d 3 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 |
6184 d 4 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 |
6184 d 4 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 |
6187 d 20 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 |
6187 d 20 h |
cejka |
/trunk/ |
Better fix of labels in configuration script. |
|
/trunk/kernel/kernel.config /trunk/tools/config.py
|