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; |