Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
2663 |
6084 d 6 h |
jermar |
/trunk/uspace/ |
Reimplement VFS_READ using IPC_M_DATA_READ. |
|
/trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_read.c
|
2662 |
6084 d 7 h |
jermar |
/trunk/ |
Add support for IPC_M_DATA_READ calls. |
|
/trunk/kernel/generic/include/ipc/ipc.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
|
2660 |
6084 d 8 h |
jermar |
/trunk/ |
Rename IPC_M_DATA_SEND to IPC_M_DATA_WRITE. Now, when we also add
IPC_M_DATA_READ, it will not clash and cause confusion with userspace wrappers
such as ipc_data_receive(). Rename the forementioned wrappers to
ipc_data_write_send(), ipc_data_write_receive() and ipc_data_write_deliver(). |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_register.c
|
2637 |
6103 d 8 h |
cejka |
/trunk/ |
Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/ipc/register.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/main.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_register.c
|
2636 |
6105 d 7 h |
jermar |
/trunk/ |
Update comments wrt the previous commit.
Minor formatting fixes. |
|
/trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/ipc.c
|
2635 |
6105 d 8 h |
cejka |
/trunk/ |
Function ipc_connect_me_to sends 3 user defined arguments now.
One argument added also to ipc_forward_fast.
Fixed devmap and improved its test. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/sysipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/ipc/connect.c /trunk/uspace/lib/libc/generic/async.c /trunk/uspace/lib/libc/generic/io/stream.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/devmap/devmap.h /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/vfs/vfs_read.c
|
2622 |
6113 d 14 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
|
2620 |
6115 d 19 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 |
6117 d 6 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 |
6117 d 19 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
|
2615 |
6118 d 16 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
|
2568 |
6165 d 21 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
|
2531 |
6180 d 8 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 |
6180 d 23 h |
jermar |
/trunk/uspace/lib/libc/generic/ |
Pseudo thread -> fibril change in several comments. |
|
/trunk/uspace/lib/libc/generic/ipc.c
|
2522 |
6183 d 21 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
|
2490 |
6256 d 11 h |
jermar |
/trunk/uspace/lib/libc/generic/ |
Improve comments in async.c |
|
/trunk/uspace/lib/libc/generic/async.c /trunk/uspace/lib/libc/generic/ipc.c
|
2482 |
6263 d 3 h |
jermar |
/trunk/ |
Goodbye pseudo threads, welcome fibrils.
The renaming might still be incomplete. |
|
/trunk/uspace/lib/libc/arch/amd64/include/fibril.h /trunk/uspace/lib/libc/arch/amd64/src/fibril.S /trunk/uspace/lib/libc/arch/arm32/include/fibril.h /trunk/uspace/lib/libc/arch/arm32/src/fibril.S /trunk/uspace/lib/libc/arch/ia32/include/fibril.h /trunk/uspace/lib/libc/arch/ia32/src/fibril.S /trunk/uspace/lib/libc/arch/ia64/include/fibril.h /trunk/uspace/lib/libc/arch/ia64/src/fibril.S /trunk/uspace/lib/libc/arch/mips32/include/fibril.h /trunk/uspace/lib/libc/arch/mips32/src/fibril.S /trunk/uspace/lib/libc/arch/mips32eb/include/fibril.h /trunk/uspace/lib/libc/arch/ppc32/include/fibril.h /trunk/uspace/lib/libc/arch/ppc32/src/fibril.S /trunk/uspace/lib/libc/arch/ppc64/include/fibril.h /trunk/uspace/lib/libc/arch/ppc64/src/fibril.S /trunk/uspace/lib/libc/arch/sparc64/include/fibril.h /trunk/uspace/lib/libc/arch/sparc64/src/fibril.S /trunk/uspace/lib/libc/generic/fibril.c /trunk/uspace/lib/libc/include/fibril.h
/trunk/uspace/lib/libc/arch/amd64/include/psthread.h /trunk/uspace/lib/libc/arch/amd64/src/psthread.S /trunk/uspace/lib/libc/arch/arm32/include/psthread.h /trunk/uspace/lib/libc/arch/arm32/src/psthread.S /trunk/uspace/lib/libc/arch/ia32/include/psthread.h /trunk/uspace/lib/libc/arch/ia32/src/psthread.S /trunk/uspace/lib/libc/arch/ia64/include/psthread.h /trunk/uspace/lib/libc/arch/ia64/src/psthread.S /trunk/uspace/lib/libc/arch/mips32/include/psthread.h /trunk/uspace/lib/libc/arch/mips32/src/psthread.S /trunk/uspace/lib/libc/arch/mips32eb/include/psthread.h /trunk/uspace/lib/libc/arch/ppc32/include/psthread.h /trunk/uspace/lib/libc/arch/ppc32/src/psthread.S /trunk/uspace/lib/libc/arch/ppc64/include/psthread.h /trunk/uspace/lib/libc/arch/ppc64/src/psthread.S /trunk/uspace/lib/libc/arch/sparc64/include/psthread.h /trunk/uspace/lib/libc/arch/sparc64/src/psthread.S /trunk/uspace/lib/libc/generic/psthread.c /trunk/uspace/lib/libc/include/psthread.h
/trunk/kernel/arch/ia32/src/context.s /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/async.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/libc.c /trunk/uspace/lib/libc/generic/thread.c /trunk/uspace/lib/libc/include/async.h
|
2479 |
6267 d 14 h |
jermar |
/trunk/ |
New, better-structured, directory layout for uspace. |
|
/trunk/uspace/app /trunk/uspace/app/init /trunk/uspace/app/klog /trunk/uspace/app/tester /trunk/uspace/app/tetris /trunk/uspace/lib /trunk/uspace/lib/libc /trunk/uspace/lib/softfloat /trunk/uspace/lib/softint /trunk/uspace/srv /trunk/uspace/srv/console /trunk/uspace/srv/fb /trunk/uspace/srv/fs /trunk/uspace/srv/kbd /trunk/uspace/srv/ns /trunk/uspace/srv/pci /trunk/uspace/srv/rd
/trunk/uspace/console /trunk/uspace/fb /trunk/uspace/fs /trunk/uspace/init /trunk/uspace/kbd /trunk/uspace/klog /trunk/uspace/libc /trunk/uspace/ns /trunk/uspace/pci /trunk/uspace/rd /trunk/uspace/softfloat /trunk/uspace/softint /trunk/uspace/tester /trunk/uspace/tetris
/trunk/boot/arch/amd64/Makefile.inc /trunk/boot/arch/arm32/loader/Makefile /trunk/boot/arch/ia32/Makefile.inc /trunk/boot/arch/ia32xen/Makefile.inc /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 /trunk/uspace/Makefile /trunk/uspace/app/init/Makefile /trunk/uspace/app/klog/Makefile /trunk/uspace/app/tester/Makefile /trunk/uspace/app/tetris/Makefile /trunk/uspace/app/tetris/input.c /trunk/uspace/app/tetris/screen.c /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/Makefile.inc /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 /trunk/uspace/srv/console/Makefile /trunk/uspace/srv/fb/Makefile /trunk/uspace/srv/fs/Makefile /trunk/uspace/srv/kbd/Makefile /trunk/uspace/srv/ns/Makefile /trunk/uspace/srv/pci/Makefile /trunk/uspace/srv/pci/libpci/Makefile /trunk/uspace/srv/rd/Makefile
|
2471 |
6273 d 8 h |
jermar |
/trunk/ |
Greatly improve comments in the IPC layer.
Now I think I finally start to understand our IPC internals :-) |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/ipcrsc.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/ipc/irq.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/libc/generic/ipc.c /trunk/uspace/libc/include/ipc/ipc.h /trunk/uspace/ns/ns.c /trunk/uspace/pci/pci.c /trunk/uspace/rd/rd.c
|
2359 |
6303 d 17 h |
jermar |
/trunk/ |
Improve comments for the IPC subsystem.
Fix formatting and indentation. |
|
/trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/libc/generic/ipc.c
|