Changeset 7bdcc45 in mainline for kernel/generic/include/ipc


Ignore:
Timestamp:
2010-12-16T16:38:49Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
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.
Message:

Merge mainline changes.

Location:
kernel/generic/include/ipc
Files:
5 edited

Legend:

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

    r8e58f94 r7bdcc45  
    4747        /** Answerbox for notifications. */
    4848        answerbox_t *answerbox;
    49         /** Method to be used for the notification. */
    50         unative_t method;
     49        /** Interface and method to be used for the notification. */
     50        sysarg_t imethod;
    5151        /** Counter. */
    5252        size_t counter;
     
    5454
    5555extern void event_init(void);
    56 extern unative_t sys_event_subscribe(unative_t, unative_t);
     56extern sysarg_t sys_event_subscribe(sysarg_t, sysarg_t);
    5757extern bool event_is_subscribed(event_type_t);
    5858extern void event_cleanup_answerbox(answerbox_t *);
     
    7171        event_notify((e), (a1), (a2), (a3), (a4), (a5))
    7272
    73 extern void event_notify(event_type_t, unative_t, unative_t, unative_t,
    74     unative_t, unative_t);
     73extern void event_notify(event_type_t, sysarg_t, sysarg_t, sysarg_t,
     74    sysarg_t, sysarg_t);
    7575
    7676#endif
  • kernel/generic/include/ipc/ipc.h

    r8e58f94 r7bdcc45  
    4343#define IPC_CALL_LEN  6
    4444
    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
    5147
    5248/* Flags for calls */
     
    8884/* Macros for manipulating calling data */
    8985#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))
    9187#define IPC_SET_ARG1(data, val)       ((data).args[1] = (val))
    9288#define IPC_SET_ARG2(data, val)       ((data).args[2] = (val))
     
    9591#define IPC_SET_ARG5(data, val)       ((data).args[5] = (val))
    9692
    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])
    9995
    10096#define IPC_GET_ARG1(data)  ((data).args[1])
     
    120116#define IPC_FF_ROUTE_FROM_ME  (1 << 0)
    121117
     118/** Kernel IPC interfaces
     119 *
     120 */
     121#define IPC_IF_KERNEL  0
     122
    122123/** 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.
    124127 *
    125128 */
     
    315318
    316319typedef struct {
    317         unative_t args[IPC_CALL_LEN];
     320        sysarg_t args[IPC_CALL_LEN];
    318321        phone_t *phone;
    319322} ipc_data_t;
     
    335338       
    336339        /** Private data to internal IPC. */
    337         unative_t priv;
     340        sysarg_t priv;
    338341       
    339342        /** Data passed from/to userspace. */
     
    372375
    373376extern void ipc_cleanup(void);
    374 extern void ipc_backsend_err(phone_t *, call_t *, unative_t);
     377extern void ipc_backsend_err(phone_t *, call_t *, sysarg_t);
    375378extern void ipc_answerbox_slam_phones(answerbox_t *, bool);
    376379extern void ipc_cleanup_call_list(link_t *);
  • kernel/generic/include/ipc/ipcrsc.h

    r8e58f94 r7bdcc45  
    3939#include <ipc/ipc.h>
    4040
    41 extern call_t * get_call(unative_t callid);
     41extern call_t * get_call(sysarg_t callid);
    4242extern int phone_alloc(task_t *t);
    4343extern void phone_connect(int phoneid, answerbox_t *box);
  • kernel/generic/include/ipc/irq.h

    r8e58f94 r7bdcc45  
    4444#include <adt/list.h>
    4545
    46 extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, unative_t,
     46extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, sysarg_t,
    4747    irq_code_t *);
    4848
     
    7575        ipc_irq_send_msg((irq), (a1), (a2), (a3), (a4), (a5))
    7676
    77 extern void ipc_irq_send_msg(irq_t *, unative_t, unative_t, unative_t, unative_t,
    78     unative_t);
     77extern void ipc_irq_send_msg(irq_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     78    sysarg_t);
    7979
    8080#endif
  • kernel/generic/include/ipc/sysipc.h

    r8e58f94 r7bdcc45  
    4040#include <typedefs.h>
    4141
    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);
     42extern sysarg_t sys_ipc_call_sync_fast(sysarg_t, sysarg_t, sysarg_t,
     43    sysarg_t, sysarg_t, ipc_data_t *);
     44extern sysarg_t sys_ipc_call_sync_slow(sysarg_t, ipc_data_t *, ipc_data_t *);
     45extern sysarg_t sys_ipc_call_async_fast(sysarg_t, sysarg_t, sysarg_t,
     46    sysarg_t, sysarg_t, sysarg_t);
     47extern sysarg_t sys_ipc_call_async_slow(sysarg_t, ipc_data_t *);
     48extern sysarg_t sys_ipc_answer_fast(sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     49    sysarg_t, sysarg_t);
     50extern sysarg_t sys_ipc_answer_slow(sysarg_t, ipc_data_t *);
     51extern sysarg_t sys_ipc_wait_for_call(ipc_data_t *, uint32_t, unsigned int);
     52extern sysarg_t sys_ipc_poke(void);
     53extern sysarg_t sys_ipc_forward_fast(sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     54    sysarg_t, unsigned int);
     55extern sysarg_t sys_ipc_forward_slow(sysarg_t, sysarg_t, ipc_data_t *,
     56    unsigned int);
     57extern sysarg_t sys_ipc_hangup(sysarg_t);
     58extern sysarg_t sys_ipc_register_irq(inr_t, devno_t, sysarg_t, irq_code_t *);
     59extern sysarg_t sys_ipc_unregister_irq(inr_t, devno_t);
     60
     61#ifdef __32_BITS__
     62
     63extern sysarg_t sys_ipc_connect_kbox(sysarg64_t *);
     64
     65#endif  /* __32_BITS__ */
     66
     67#ifdef __64_BITS__
     68
     69extern sysarg_t sys_ipc_connect_kbox(sysarg_t);
     70
     71#endif  /* __64_BITS__ */
    6472
    6573#endif
Note: See TracChangeset for help on using the changeset viewer.