Changeset 6b10dab in mainline for kernel/generic/src/ipc/sysipc.c


Ignore:
Timestamp:
2010-12-14T15:26:36Z (13 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
dd8d5a7
Parents:
96b02eb9
Message:

ABI split: pass 64-bit task ID as plain 64-bit argument to SYS_IPC_CONNECT_KBOX, SYS_CAP_GRANT, SYS_CAP_REVOKE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/sysipc.c

    r96b02eb9 r6b10dab  
    4949#include <syscall/copy.h>
    5050#include <security/cap.h>
     51#include <console/console.h>
    5152#include <mm/as.h>
    5253#include <print.h>
     
    11281129}
    11291130
    1130 #include <console/console.h>
    1131 
    1132 /** Syscall connect to a task by id.
     1131#ifdef __32_BITS__
     1132
     1133/** Syscall connect to a task by ID (32 bits)
    11331134 *
    11341135 * @return Phone id on success, or negative error code.
    11351136 *
    11361137 */
    1137 sysarg_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg)
     1138sysarg_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid)
    11381139{
    11391140#ifdef CONFIG_UDEBUG
    1140         sysarg64_t taskid_arg;
    1141         int rc = copy_from_uspace(&taskid_arg, uspace_taskid_arg, sizeof(sysarg64_t));
     1141        sysarg64_t taskid;
     1142        int rc = copy_from_uspace(&taskid, uspace_taskid, sizeof(sysarg64_t));
    11421143        if (rc != 0)
    11431144                return (sysarg_t) rc;
    11441145       
    1145         LOG("sys_ipc_connect_kbox(%" PRIu64 ")", taskid_arg.value);
    1146        
    1147         return ipc_connect_kbox(taskid_arg.value);
     1146        return ipc_connect_kbox((task_id_t) taskid);
    11481147#else
    11491148        return (sysarg_t) ENOTSUP;
     
    11511150}
    11521151
     1152#endif  /* __32_BITS__ */
     1153
     1154#ifdef __64_BITS__
     1155
     1156/** Syscall connect to a task by ID (64 bits)
     1157 *
     1158 * @return Phone id on success, or negative error code.
     1159 *
     1160 */
     1161sysarg_t sys_ipc_connect_kbox(sysarg_t taskid)
     1162{
     1163#ifdef CONFIG_UDEBUG
     1164        return ipc_connect_kbox((task_id_t) taskid);
     1165#else
     1166        return (sysarg_t) ENOTSUP;
     1167#endif
     1168}
     1169
     1170#endif  /* __64_BITS__ */
     1171
    11531172/** @}
    11541173 */
Note: See TracChangeset for help on using the changeset viewer.