Changes in kernel/generic/include/ipc/ipc.h [da1bafb:5378f99] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/ipc.h
rda1bafb r5378f99 43 43 #define IPC_CALL_LEN 6 44 44 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 45 /** Maximum active async calls per phone */ 46 #define IPC_MAX_ASYNC_CALLS 4 51 47 52 48 /* Flags for calls */ … … 88 84 /* Macros for manipulating calling data */ 89 85 #define IPC_SET_RETVAL(data, retval) ((data).args[0] = (retval)) 90 #define IPC_SET_ METHOD(data, val)((data).args[0] = (val))86 #define IPC_SET_IMETHOD(data, val) ((data).args[0] = (val)) 91 87 #define IPC_SET_ARG1(data, val) ((data).args[1] = (val)) 92 88 #define IPC_SET_ARG2(data, val) ((data).args[2] = (val)) … … 95 91 #define IPC_SET_ARG5(data, val) ((data).args[5] = (val)) 96 92 97 #define IPC_GET_ METHOD(data) ((data).args[0])98 #define IPC_GET_RETVAL(data) ((data).args[0])93 #define IPC_GET_IMETHOD(data) ((data).args[0]) 94 #define IPC_GET_RETVAL(data) ((data).args[0]) 99 95 100 96 #define IPC_GET_ARG1(data) ((data).args[1]) … … 120 116 #define IPC_FF_ROUTE_FROM_ME (1 << 0) 121 117 118 /** Kernel IPC interfaces 119 * 120 */ 121 #define IPC_IF_KERNEL 0 122 122 123 /** System-specific methods - only through special syscalls 123 * These methods have special behaviour 124 * 125 * These methods have special behaviour. These methods also 126 * have the implicit kernel interface 0. 124 127 * 125 128 */ … … 162 165 * error is sent back to caller. Otherwise 163 166 * the call is accepted and the response is sent back. 164 * - the allocated phoneid is passed to userspace 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 165 170 * (on the receiving side) as ARG5 of the call. 166 171 * … … 315 320 316 321 typedef struct { 317 unative_t args[IPC_CALL_LEN]; 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. */ 318 326 phone_t *phone; 319 327 } ipc_data_t; … … 330 338 * The caller box is different from sender->answerbox 331 339 * for synchronous calls. 332 *333 340 */ 334 341 answerbox_t *callerbox; 335 342 336 343 /** Private data to internal IPC. */ 337 unative_t priv;344 sysarg_t priv; 338 345 339 346 /** Data passed from/to userspace. */ … … 347 354 * cases, we must keep it aside so that the answer is processed 348 355 * correctly. 349 *350 356 */ 351 357 phone_t *caller_phone; … … 372 378 373 379 extern void ipc_cleanup(void); 374 extern void ipc_backsend_err(phone_t *, call_t *, unative_t);380 extern void ipc_backsend_err(phone_t *, call_t *, sysarg_t); 375 381 extern void ipc_answerbox_slam_phones(answerbox_t *, bool); 376 382 extern void ipc_cleanup_call_list(link_t *);
Note:
See TracChangeset
for help on using the changeset viewer.