Changeset 6b10dab in mainline for kernel/generic/include


Ignore:
Timestamp:
2010-12-14T15:26:36Z (15 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

Location:
kernel/generic/include
Files:
1 deleted
4 edited

Legend:

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

    r96b02eb9 r6b10dab  
    4040#include <typedefs.h>
    4141
    42 extern sysarg_t sys_ipc_call_sync_fast(sysarg_t phoneid, sysarg_t method,
    43     sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_data_t *data);
    44 extern sysarg_t sys_ipc_call_sync_slow(sysarg_t phoneid, ipc_data_t *question,
    45     ipc_data_t *reply);
    46 extern sysarg_t sys_ipc_call_async_fast(sysarg_t phoneid, sysarg_t method,
    47     sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4);
    48 extern sysarg_t sys_ipc_call_async_slow(sysarg_t phoneid, ipc_data_t *data);
    49 extern sysarg_t sys_ipc_answer_fast(sysarg_t callid, sysarg_t retval,
    50     sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4);
    51 extern sysarg_t sys_ipc_answer_slow(sysarg_t callid, ipc_data_t *data);
    52 extern sysarg_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec,
    53     unsigned int nonblocking);
     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);
    5452extern sysarg_t sys_ipc_poke(void);
    55 extern sysarg_t sys_ipc_forward_fast(sysarg_t callid, sysarg_t phoneid,
    56     sysarg_t method, sysarg_t arg1, sysarg_t arg2, unsigned int mode);
    57 extern sysarg_t sys_ipc_forward_slow(sysarg_t callid, sysarg_t phoneid,
    58     ipc_data_t *data, unsigned int mode);
    59 extern sysarg_t sys_ipc_hangup(sysarg_t phoneid);
    60 extern sysarg_t sys_ipc_register_irq(inr_t inr, devno_t devno, sysarg_t method,
    61     irq_code_t *ucode);
    62 extern sysarg_t sys_ipc_unregister_irq(inr_t inr, devno_t devno);
    63 extern sysarg_t sys_ipc_connect_kbox(sysarg64_t *task_id);
     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
  • kernel/generic/include/security/cap.h

    r96b02eb9 r6b10dab  
    4848#define __CAP_H__
    4949
    50 #include <syscall/sysarg64.h>
    5150#include <typedefs.h>
    5251
     
    5554 * privilege to/from other tasks.
    5655 */
    57 #define CAP_CAP                 (1<<0)
     56#define CAP_CAP  (1 << 0)
    5857
    5958/**
     
    6160 * to other tasks.
    6261 */
    63 #define CAP_MEM_MANAGER         (1<<1)
     62#define CAP_MEM_MANAGER  (1 << 1)
    6463
    6564/**
     
    6766 * to other tasks.
    6867 */
    69 #define CAP_IO_MANAGER          (1<<2)
     68#define CAP_IO_MANAGER  (1 << 2)
    7069
    7170/**
    7271 * CAP_IRQ_REG entitles its holder to register IRQ handlers.
    7372 */
    74 #define CAP_IRQ_REG             (1<<3)
     73#define CAP_IRQ_REG  (1 << 3)
    7574
    7675typedef uint32_t cap_t;
    7776
    78 extern sysarg_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps);
    79 extern sysarg_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps);
     77#ifdef __32_BITS__
     78
     79extern sysarg_t sys_cap_grant(sysarg64_t *, cap_t);
     80extern sysarg_t sys_cap_revoke(sysarg64_t *, cap_t);
     81
     82#endif  /* __32_BITS__ */
     83
     84#ifdef __64_BITS__
     85
     86extern sysarg_t sys_cap_grant(sysarg_t, cap_t);
     87extern sysarg_t sys_cap_revoke(sysarg_t, cap_t);
     88
     89#endif  /* __64_BITS__ */
    8090
    8191#endif
  • kernel/generic/include/syscall/syscall.h

    r96b02eb9 r6b10dab  
    3838typedef enum {
    3939        SYS_KLOG = 0,
    40         SYS_TLS_SET = 1, /* Hardcoded in AMD64, IA32 uspace - fibril.S */
     40        SYS_TLS_SET = 1,  /* Hardcoded for AMD64, IA-32 (fibril.S in uspace) */
    4141       
    4242        SYS_THREAD_CREATE,
     
    7171        SYS_IPC_REGISTER_IRQ,
    7272        SYS_IPC_UNREGISTER_IRQ,
     73        SYS_IPC_CONNECT_KBOX,
    7374       
    7475        SYS_EVENT_SUBSCRIBE,
     
    9091        SYS_DEBUG_DISABLE_CONSOLE,
    9192       
    92         SYS_IPC_CONNECT_KBOX,
    9393        SYSCALL_END
    9494} syscall_t;
  • kernel/generic/include/typedefs.h

    r96b02eb9 r6b10dab  
    7373typedef volatile uint32_t ioport32_t;
    7474
     75#ifdef __32_BITS__
     76
     77/** Explicit 64-bit arguments passed to syscalls. */
     78typedef uint64_t sysarg64_t;
     79
     80#endif /* __32_BITS__ */
     81
    7582#endif
    7683
Note: See TracChangeset for help on using the changeset viewer.