Convert call-handling syscalls to capabilities
commit01c3bb491370247ba1459d7e381e27022f09fed4
authorJakub Jermar <jakub@jermar.eu>
Sat, 25 Nov 2017 15:43:25 +0000 (25 16:43 +0100)
committerJakub Jermar <jakub@jermar.eu>
Sat, 25 Nov 2017 15:43:25 +0000 (25 16:43 +0100)
tree8f0c1e0a69e7c2c1330d7b7dbb2cb077ecf6f80f
parent98cb5e0d438f111dd28c92d57d12c9aa74bd2f98
Convert call-handling syscalls to capabilities

This commit modifies the behavior of sys_ipc_wait_for_call() to return a
capability handle for requests. This capability handle can be used
either by sys_ipc_answer*() to answer the call or by sys_ipc_forward*()
to forward it further along. Answering or forwarding the call results in
destruction of the respective capability. For requests and
notifications, sys_ipc_wait_for_call() returns CAP_NIL and sets call
flags accordingly.
33 files changed:
kernel/generic/include/ipc/ipc.h
kernel/generic/include/ipc/ipcrsc.h
kernel/generic/src/ipc/ipcrsc.c
kernel/generic/src/ipc/sysipc.c
uspace/app/kio/kio.c
uspace/app/trace/ipcp.c
uspace/drv/audio/hdaudio/hdaudio.c
uspace/drv/audio/sb16/main.c
uspace/drv/block/ahci/ahci.c
uspace/drv/block/ddisk/ddisk.c
uspace/drv/bus/adb/cuda_adb/cuda_adb.c
uspace/drv/char/i8042/i8042.c
uspace/drv/char/msim-con/msim-con.c
uspace/drv/char/ns8250/ns8250.c
uspace/drv/char/pl050/pl050.c
uspace/drv/nic/e1k/e1k.c
uspace/drv/nic/ne2k/ne2k.c
uspace/drv/nic/rtl8139/driver.c
uspace/drv/nic/rtl8169/driver.c
uspace/lib/c/generic/async.c
uspace/lib/c/generic/ipc.c
uspace/lib/c/include/async.h
uspace/lib/c/include/ipc/common.h
uspace/lib/c/include/ipc/ipc.h
uspace/lib/drv/include/ddf/interrupt.h
uspace/lib/usbhost/include/usb/host/ddf_helpers.h
uspace/lib/usbhost/src/ddf_helpers.c
uspace/srv/hid/input/input.c
uspace/srv/hid/s3c24xx_ts/s3c24xx_ts.c
uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c
uspace/srv/klog/klog.c
uspace/srv/taskmon/taskmon.c
uspace/srv/vfs/vfs.c