Changeset 76d7305 in mainline
- Timestamp:
- 2006-05-31T14:13:35Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 343fc179
- Parents:
- 4fded58
- Location:
- generic
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/include/ipc/ipc.h
r4fded58 r76d7305 132 132 * - ARG1 - Where the area will be mapped 133 133 * - ARG2 - Expected size of area 134 * - ARG3 - Requested rights for the area134 * - ARG3 - User defined argument 135 135 * on answer - the server sets ARG1 as src as address of the as_area 136 * to be shared 137 * 138 * 136 * to be shared, ARG2 is set to rights that will be used for sharing, 137 * which is returned as part of answer back to the receiver 139 138 */ 140 139 #define IPC_M_AS_AREA_RECV 6 -
generic/src/ipc/sysipc.c
r4fded58 r76d7305 137 137 if (!IPC_GET_RETVAL(answer->data)) { /* Accepted, handle as_area receipt */ 138 138 ipl_t ipl; 139 int rc; 139 140 as_t *as; 140 141 … … 145 146 interrupts_restore(ipl); 146 147 147 return as_area_share(as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(*olddata), 148 AS, IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata)); 148 rc = as_area_share(as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(*olddata), 149 AS, IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata)); 150 IPC_SET_RETVAL(answer->data, rc); 151 return rc; 149 152 } 150 153 } else if (IPC_GET_METHOD(*olddata) == IPC_M_AS_AREA_RECV) { … … 161 164 162 165 rc = as_area_share(AS, IPC_GET_ARG1(answer->data), IPC_GET_ARG2(*olddata), 163 as, IPC_GET_ARG1(*olddata), IPC_GET_ARG 3(*olddata));166 as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(answer->data)); 164 167 IPC_SET_RETVAL(answer->data, rc); 165 168 } -
generic/src/mm/as.c
r4fded58 r76d7305 517 517 src_backend_data = src_area->backend_data; 518 518 519 if (src_size != acc_size ) {519 if (src_size != acc_size || (src_flags & dst_flags_mask) != dst_flags_mask) { 520 520 mutex_unlock(&src_area->lock); 521 521 mutex_unlock(&src_as->lock); … … 555 555 * to support sharing in less privileged mode. 556 556 */ 557 dst_area = as_area_create(dst_as, src_flags &dst_flags_mask, src_size, dst_base,557 dst_area = as_area_create(dst_as, dst_flags_mask, src_size, dst_base, 558 558 AS_AREA_ATTR_PARTIAL, src_backend, &src_backend_data); 559 559 if (!dst_area) {
Note:
See TracChangeset
for help on using the changeset viewer.