Rev 2808 | Rev 2810 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2808 | Rev 2809 | ||
|---|---|---|---|
| Line 563... | Line 563... | ||
| 563 | IPC_SET_ARG5(call->data, call->priv); |
563 | IPC_SET_ARG5(call->data, call->priv); |
| 564 | } |
564 | } |
| 565 | 565 | ||
| 566 | if (call->buffer) { |
566 | if (call->buffer) { |
| 567 | /* This must be an affirmative answer to IPC_M_DATA_READ. */ |
567 | /* This must be an affirmative answer to IPC_M_DATA_READ. */ |
| - | 568 | /* or IPC_M_DEBUG_MEM_READ... */ |
|
| 568 | uintptr_t dst = IPC_GET_ARG1(call->data); |
569 | uintptr_t dst = IPC_GET_ARG1(call->data); |
| 569 | size_t size = IPC_GET_ARG2(call->data); |
570 | size_t size = IPC_GET_ARG2(call->data); |
| 570 | int rc = copy_to_uspace((void *) dst, call->buffer, size); |
571 | int rc = copy_to_uspace((void *) dst, call->buffer, size); |
| 571 | if (rc) |
572 | if (rc) |
| 572 | IPC_SET_RETVAL(call->data, rc); |
573 | IPC_SET_RETVAL(call->data, rc); |
| Line 784... | Line 785... | ||
| 784 | sizeof(call->data.args)); |
785 | sizeof(call->data.args)); |
| 785 | if (rc != 0) { |
786 | if (rc != 0) { |
| 786 | ipc_call_free(call); |
787 | ipc_call_free(call); |
| 787 | return (unative_t) rc; |
788 | return (unative_t) rc; |
| 788 | } |
789 | } |
| - | 790 | if (TASK->being_debugged) |
|
| - | 791 | klog_printf("call_async_slow: phone=%u, uspace_ptr=%u, arg0=%u", |
|
| - | 792 | phoneid, (unsigned)data, call->data.args[0]); |
|
| 789 | if (!(res = request_preprocess(call, phone))) |
793 | if (!(res = request_preprocess(call, phone))) |
| 790 | ipc_call(phone, call); |
794 | ipc_call(phone, call); |
| 791 | else |
795 | else |
| 792 | ipc_backsend_err(phone, call, res); |
796 | ipc_backsend_err(phone, call, res); |
| 793 | 797 | ||