Changeset 7918fce in mainline for kernel/generic/include/ipc/ipc.h


Ignore:
Timestamp:
2007-07-11T20:31:45Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
975f62f
Parents:
398d967
Message:

Implement a new mechanism for copying data between two address spaces based on
IPC. New system method IPC_M_DATA_SEND is introduced. The implementation is
generic and does not make use of any possible architecture optimizations such as
direct copy from one address space to another.

File:
1 edited

Legend:

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

    r398d967 r7918fce  
    139139#define IPC_M_PHONE_HUNGUP      3
    140140
    141 /** Send as_area over IPC 
    142  * - ARG1 - src as_area base address
    143  * - ARG2 - size of src as_area (filled automatically by kernel)
     141/** Send as_area over IPC.
     142 * - ARG1 - source as_area base address
     143 * - ARG2 - size of source as_area (filled automatically by kernel)
    144144 * - ARG3 - flags of the as_area being sent
    145145 *
    146  * on answer:
     146 * on answer, the recipient must set:
    147147 * - ARG1 - dst as_area base adress
    148148 */
    149149#define IPC_M_AS_AREA_SEND      4       
    150150
    151 /** Get as_area over IPC
    152  * - ARG1 - dst as_area base address
    153  * - ARG2 - dst as_area size
     151/** Receive as_area over IPC.
     152 * - ARG1 - destination as_area base address
     153 * - ARG2 - destination as_area size
    154154 * - ARG3 - user defined argument
    155155 *
    156  * on answer, the server must set:
    157  *
    158  * - ARG1 - src as_area base address
     156 * on answer, the recipient must set:
     157 *
     158 * - ARG1 - source as_area base address
    159159 * - ARG2 - flags that will be used for sharing
    160160 */
    161161#define IPC_M_AS_AREA_RECV      5       
    162162
     163/** Send data to another address space over IPC.
     164 * - ARG1 - destination address space virtual address, may be overriden by the
     165 *          recipient
     166 * - ARG2 - source address space virtual address
     167 * - ARG3 - size of data to be copied, may be overriden by the recipient
     168 *
     169 * on answer, the recipient must set:
     170 *
     171 * - ARG1 - final destination address space virtual address
     172 * - ARG3 - final size of data to be copied
     173 */
     174#define IPC_M_DATA_SEND         6
    163175
    164176/* Well-known methods */
     
    243255        /** Data passed from/to userspace. */
    244256        ipc_data_t data;
     257
     258        /** Buffer for IPC_M_DATA_SEND. */
     259        uint8_t *buffer;
    245260} call_t;
    246261
Note: See TracChangeset for help on using the changeset viewer.