Rev 1413 | Rev 1428 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1413 | Rev 1417 | ||
---|---|---|---|
Line 136... | Line 136... | ||
136 | spinlock_lock(&answer->sender->lock); |
136 | spinlock_lock(&answer->sender->lock); |
137 | as = answer->sender->as; |
137 | as = answer->sender->as; |
138 | spinlock_unlock(&answer->sender->lock); |
138 | spinlock_unlock(&answer->sender->lock); |
139 | interrupts_restore(ipl); |
139 | interrupts_restore(ipl); |
140 | 140 | ||
141 | return as_area_share(as, IPC_GET_ARG2(*olddata),IPC_GET_ARG3(*olddata), |
141 | return as_area_share(as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(*olddata), |
142 | IPC_GET_ARG1(answer->data)); |
142 | IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata)); |
143 | } |
143 | } |
144 | } |
144 | } |
145 | return 0; |
145 | return 0; |
146 | } |
146 | } |
147 | 147 | ||
Line 163... | Line 163... | ||
163 | IPC_SET_ARG3(call->data, (__native)&TASK->phones[newphid]); |
163 | IPC_SET_ARG3(call->data, (__native)&TASK->phones[newphid]); |
164 | call->flags |= IPC_CALL_CONN_ME_TO; |
164 | call->flags |= IPC_CALL_CONN_ME_TO; |
165 | call->private = newphid; |
165 | call->private = newphid; |
166 | break; |
166 | break; |
167 | case IPC_M_AS_AREA_SEND: |
167 | case IPC_M_AS_AREA_SEND: |
168 | size = as_get_size(IPC_GET_ARG2(call->data)); |
168 | size = as_get_size(IPC_GET_ARG1(call->data)); |
169 | if (!size) { |
169 | if (!size) { |
170 | return EPERM; |
170 | return EPERM; |
171 | } |
171 | } |
172 | IPC_SET_ARG3(call->data, size); |
172 | IPC_SET_ARG2(call->data, size); |
173 | break; |
173 | break; |
174 | default: |
174 | default: |
175 | break; |
175 | break; |
176 | } |
176 | } |
177 | return 0; |
177 | return 0; |