Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ipc/ipc.h

    r5378f99 rda1bafb  
    4343#define IPC_CALL_LEN  6
    4444
    45 /** Maximum active async calls per phone */
    46 #define IPC_MAX_ASYNC_CALLS  4
     45/** Maximum active async calls per thread */
     46#ifdef CONFIG_DEBUG
     47        #define IPC_MAX_ASYNC_CALLS  4
     48#else
     49        #define IPC_MAX_ASYNC_CALLS  4000
     50#endif
    4751
    4852/* Flags for calls */
     
    8488/* Macros for manipulating calling data */
    8589#define IPC_SET_RETVAL(data, retval)  ((data).args[0] = (retval))
    86 #define IPC_SET_IMETHOD(data, val)    ((data).args[0] = (val))
     90#define IPC_SET_METHOD(data, val)     ((data).args[0] = (val))
    8791#define IPC_SET_ARG1(data, val)       ((data).args[1] = (val))
    8892#define IPC_SET_ARG2(data, val)       ((data).args[2] = (val))
     
    9195#define IPC_SET_ARG5(data, val)       ((data).args[5] = (val))
    9296
    93 #define IPC_GET_IMETHOD(data)  ((data).args[0])
    94 #define IPC_GET_RETVAL(data)   ((data).args[0])
     97#define IPC_GET_METHOD(data)  ((data).args[0])
     98#define IPC_GET_RETVAL(data)  ((data).args[0])
    9599
    96100#define IPC_GET_ARG1(data)  ((data).args[1])
     
    116120#define IPC_FF_ROUTE_FROM_ME  (1 << 0)
    117121
    118 /** Kernel IPC interfaces
    119  *
    120  */
    121 #define IPC_IF_KERNEL  0
    122 
    123122/** System-specific methods - only through special syscalls
    124  *
    125  * These methods have special behaviour. These methods also
    126  * have the implicit kernel interface 0.
     123 * These methods have special behaviour
    127124 *
    128125 */
     
    165162 *                       error is sent back to caller. Otherwise
    166163 *                       the call is accepted and the response is sent back.
    167  *                     - the hash of the client task is passed to userspace
    168  *                       (on the receiving side) as ARG4 of the call.
    169  *                     - the hash of the allocated phone is passed to userspace
     164 *                     - the allocated phoneid is passed to userspace
    170165 *                       (on the receiving side) as ARG5 of the call.
    171166 *
     
    320315
    321316typedef struct {
    322         sysarg_t args[IPC_CALL_LEN];
    323         /** Task which made or forwarded the call with IPC_FF_ROUTE_FROM_ME. */
    324         struct task *task;
    325         /** Phone which made or last masqueraded this call. */
     317        unative_t args[IPC_CALL_LEN];
    326318        phone_t *phone;
    327319} ipc_data_t;
     
    338330         * The caller box is different from sender->answerbox
    339331         * for synchronous calls.
     332         *
    340333         */
    341334        answerbox_t *callerbox;
    342335       
    343336        /** Private data to internal IPC. */
    344         sysarg_t priv;
     337        unative_t priv;
    345338       
    346339        /** Data passed from/to userspace. */
     
    354347         * cases, we must keep it aside so that the answer is processed
    355348         * correctly.
     349         *
    356350         */
    357351        phone_t *caller_phone;
     
    378372
    379373extern void ipc_cleanup(void);
    380 extern void ipc_backsend_err(phone_t *, call_t *, sysarg_t);
     374extern void ipc_backsend_err(phone_t *, call_t *, unative_t);
    381375extern void ipc_answerbox_slam_phones(answerbox_t *, bool);
    382376extern void ipc_cleanup_call_list(link_t *);
Note: See TracChangeset for help on using the changeset viewer.