Changeset 7bdcc45 in mainline for kernel/generic/include/ipc
- Timestamp:
- 2010-12-16T16:38:49Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7837101
- Parents:
- 8e58f94 (diff), eb221e5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/generic/include/ipc
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/event.h
r8e58f94 r7bdcc45 47 47 /** Answerbox for notifications. */ 48 48 answerbox_t *answerbox; 49 /** Method to be used for the notification. */50 unative_tmethod;49 /** Interface and method to be used for the notification. */ 50 sysarg_t imethod; 51 51 /** Counter. */ 52 52 size_t counter; … … 54 54 55 55 extern void event_init(void); 56 extern unative_t sys_event_subscribe(unative_t, unative_t);56 extern sysarg_t sys_event_subscribe(sysarg_t, sysarg_t); 57 57 extern bool event_is_subscribed(event_type_t); 58 58 extern void event_cleanup_answerbox(answerbox_t *); … … 71 71 event_notify((e), (a1), (a2), (a3), (a4), (a5)) 72 72 73 extern void event_notify(event_type_t, unative_t, unative_t, unative_t,74 unative_t, unative_t);73 extern void event_notify(event_type_t, sysarg_t, sysarg_t, sysarg_t, 74 sysarg_t, sysarg_t); 75 75 76 76 #endif -
kernel/generic/include/ipc/ipc.h
r8e58f94 r7bdcc45 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 */ … … 315 318 316 319 typedef struct { 317 unative_t args[IPC_CALL_LEN];320 sysarg_t args[IPC_CALL_LEN]; 318 321 phone_t *phone; 319 322 } ipc_data_t; … … 335 338 336 339 /** Private data to internal IPC. */ 337 unative_t priv;340 sysarg_t priv; 338 341 339 342 /** Data passed from/to userspace. */ … … 372 375 373 376 extern void ipc_cleanup(void); 374 extern void ipc_backsend_err(phone_t *, call_t *, unative_t);377 extern void ipc_backsend_err(phone_t *, call_t *, sysarg_t); 375 378 extern void ipc_answerbox_slam_phones(answerbox_t *, bool); 376 379 extern void ipc_cleanup_call_list(link_t *); -
kernel/generic/include/ipc/ipcrsc.h
r8e58f94 r7bdcc45 39 39 #include <ipc/ipc.h> 40 40 41 extern call_t * get_call( unative_t callid);41 extern call_t * get_call(sysarg_t callid); 42 42 extern int phone_alloc(task_t *t); 43 43 extern void phone_connect(int phoneid, answerbox_t *box); -
kernel/generic/include/ipc/irq.h
r8e58f94 r7bdcc45 44 44 #include <adt/list.h> 45 45 46 extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, unative_t,46 extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, sysarg_t, 47 47 irq_code_t *); 48 48 … … 75 75 ipc_irq_send_msg((irq), (a1), (a2), (a3), (a4), (a5)) 76 76 77 extern void ipc_irq_send_msg(irq_t *, unative_t, unative_t, unative_t, unative_t,78 unative_t);77 extern void ipc_irq_send_msg(irq_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t, 78 sysarg_t); 79 79 80 80 #endif -
kernel/generic/include/ipc/sysipc.h
r8e58f94 r7bdcc45 40 40 #include <typedefs.h> 41 41 42 extern unative_t sys_ipc_call_sync_fast(unative_t phoneid, unative_t method, 43 unative_t arg1, unative_t arg2, unative_t arg3, ipc_data_t *data); 44 extern unative_t sys_ipc_call_sync_slow(unative_t phoneid, ipc_data_t *question, 45 ipc_data_t *reply); 46 extern unative_t sys_ipc_call_async_fast(unative_t phoneid, unative_t method, 47 unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4); 48 extern unative_t sys_ipc_call_async_slow(unative_t phoneid, ipc_data_t *data); 49 extern unative_t sys_ipc_answer_fast(unative_t callid, unative_t retval, 50 unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4); 51 extern unative_t sys_ipc_answer_slow(unative_t callid, ipc_data_t *data); 52 extern unative_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec, 53 unsigned int nonblocking); 54 extern unative_t sys_ipc_poke(void); 55 extern unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid, 56 unative_t method, unative_t arg1, unative_t arg2, unsigned int mode); 57 extern unative_t sys_ipc_forward_slow(unative_t callid, unative_t phoneid, 58 ipc_data_t *data, unsigned int mode); 59 extern unative_t sys_ipc_hangup(unative_t phoneid); 60 extern unative_t sys_ipc_register_irq(inr_t inr, devno_t devno, unative_t method, 61 irq_code_t *ucode); 62 extern unative_t sys_ipc_unregister_irq(inr_t inr, devno_t devno); 63 extern unative_t sys_ipc_connect_kbox(sysarg64_t *task_id); 42 extern sysarg_t sys_ipc_call_sync_fast(sysarg_t, sysarg_t, sysarg_t, 43 sysarg_t, sysarg_t, ipc_data_t *); 44 extern sysarg_t sys_ipc_call_sync_slow(sysarg_t, ipc_data_t *, ipc_data_t *); 45 extern sysarg_t sys_ipc_call_async_fast(sysarg_t, sysarg_t, sysarg_t, 46 sysarg_t, sysarg_t, sysarg_t); 47 extern sysarg_t sys_ipc_call_async_slow(sysarg_t, ipc_data_t *); 48 extern sysarg_t sys_ipc_answer_fast(sysarg_t, sysarg_t, sysarg_t, sysarg_t, 49 sysarg_t, sysarg_t); 50 extern sysarg_t sys_ipc_answer_slow(sysarg_t, ipc_data_t *); 51 extern sysarg_t sys_ipc_wait_for_call(ipc_data_t *, uint32_t, unsigned int); 52 extern sysarg_t sys_ipc_poke(void); 53 extern sysarg_t sys_ipc_forward_fast(sysarg_t, sysarg_t, sysarg_t, sysarg_t, 54 sysarg_t, unsigned int); 55 extern sysarg_t sys_ipc_forward_slow(sysarg_t, sysarg_t, ipc_data_t *, 56 unsigned int); 57 extern sysarg_t sys_ipc_hangup(sysarg_t); 58 extern sysarg_t sys_ipc_register_irq(inr_t, devno_t, sysarg_t, irq_code_t *); 59 extern sysarg_t sys_ipc_unregister_irq(inr_t, devno_t); 60 61 #ifdef __32_BITS__ 62 63 extern sysarg_t sys_ipc_connect_kbox(sysarg64_t *); 64 65 #endif /* __32_BITS__ */ 66 67 #ifdef __64_BITS__ 68 69 extern sysarg_t sys_ipc_connect_kbox(sysarg_t); 70 71 #endif /* __64_BITS__ */ 64 72 65 73 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
