- Timestamp:
- 2019-02-06T13:25:12Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 95a47b0
- Parents:
- eb13ef8
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-02 14:10:59)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-06 13:25:12)
- Location:
- kernel/generic/src
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/event.c
reb13ef8 rfafb8e5 153 153 call->priv = ++event->counter; 154 154 155 IPC_SET_IMETHOD(&call->data, event->imethod);156 IPC_SET_ARG1(&call->data, a1);157 IPC_SET_ARG2(&call->data, a2);158 IPC_SET_ARG3(&call->data, a3);159 IPC_SET_ARG4(&call->data, a4);160 IPC_SET_ARG5(&call->data, a5);155 ipc_set_imethod(&call->data, event->imethod); 156 ipc_set_arg1(&call->data, a1); 157 ipc_set_arg2(&call->data, a2); 158 ipc_set_arg3(&call->data, a3); 159 ipc_set_arg4(&call->data, a4); 160 ipc_set_arg5(&call->data, a5); 161 161 162 162 call->data.task_id = TASK ? TASK->taskid : 0; -
kernel/generic/src/ipc/ipc.c
reb13ef8 rfafb8e5 387 387 { 388 388 _ipc_call_actions_internal(phone, call, false); 389 IPC_SET_RETVAL(&call->data, err);389 ipc_set_retval(&call->data, err); 390 390 _ipc_answer_free_call(call, false); 391 391 } … … 485 485 assert(call); 486 486 487 IPC_SET_IMETHOD(&call->data, IPC_M_PHONE_HUNGUP);487 ipc_set_imethod(&call->data, IPC_M_PHONE_HUNGUP); 488 488 call->request_method = IPC_M_PHONE_HUNGUP; 489 489 call->flags |= IPC_CALL_DISCARD_ANSWER; … … 634 634 635 635 ipc_data_t old = call->data; 636 IPC_SET_RETVAL(&call->data, EHANGUP);636 ipc_set_retval(&call->data, EHANGUP); 637 637 answer_preprocess(call, &old); 638 638 _ipc_answer_free_call(call, true); … … 690 690 assert(call); 691 691 692 IPC_SET_IMETHOD(&call->data, IPC_M_PHONE_HUNGUP);692 ipc_set_imethod(&call->data, IPC_M_PHONE_HUNGUP); 693 693 call->request_method = IPC_M_PHONE_HUNGUP; 694 694 call->flags |= IPC_CALL_DISCARD_ANSWER; … … 909 909 printf("%-8" PRIun " %-6" PRIun " %-6" PRIun " %-6" PRIun 910 910 " %-6" PRIun " %-6" PRIun " %-7x", 911 IPC_GET_IMETHOD(&call->data), IPC_GET_ARG1(&call->data),912 IPC_GET_ARG2(&call->data), IPC_GET_ARG3(&call->data),913 IPC_GET_ARG4(&call->data), IPC_GET_ARG5(&call->data),911 ipc_get_imethod(&call->data), ipc_get_arg1(&call->data), 912 ipc_get_arg2(&call->data), ipc_get_arg3(&call->data), 913 ipc_get_arg4(&call->data), ipc_get_arg5(&call->data), 914 914 call->flags); 915 915 -
kernel/generic/src/ipc/irq.c
reb13ef8 rfafb8e5 539 539 540 540 /* Set up args */ 541 IPC_SET_IMETHOD(&call->data, irq->notif_cfg.imethod);542 IPC_SET_ARG1(&call->data, irq->notif_cfg.scratch[1]);543 IPC_SET_ARG2(&call->data, irq->notif_cfg.scratch[2]);544 IPC_SET_ARG3(&call->data, irq->notif_cfg.scratch[3]);545 IPC_SET_ARG4(&call->data, irq->notif_cfg.scratch[4]);546 IPC_SET_ARG5(&call->data, irq->notif_cfg.scratch[5]);541 ipc_set_imethod(&call->data, irq->notif_cfg.imethod); 542 ipc_set_arg1(&call->data, irq->notif_cfg.scratch[1]); 543 ipc_set_arg2(&call->data, irq->notif_cfg.scratch[2]); 544 ipc_set_arg3(&call->data, irq->notif_cfg.scratch[3]); 545 ipc_set_arg4(&call->data, irq->notif_cfg.scratch[4]); 546 ipc_set_arg5(&call->data, irq->notif_cfg.scratch[5]); 547 547 548 548 send_call(irq, call); … … 576 576 call->priv = ++irq->notif_cfg.counter; 577 577 578 IPC_SET_IMETHOD(&call->data, irq->notif_cfg.imethod);579 IPC_SET_ARG1(&call->data, a1);580 IPC_SET_ARG2(&call->data, a2);581 IPC_SET_ARG3(&call->data, a3);582 IPC_SET_ARG4(&call->data, a4);583 IPC_SET_ARG5(&call->data, a5);578 ipc_set_imethod(&call->data, irq->notif_cfg.imethod); 579 ipc_set_arg1(&call->data, a1); 580 ipc_set_arg2(&call->data, a2); 581 ipc_set_arg3(&call->data, a3); 582 ipc_set_arg4(&call->data, a4); 583 ipc_set_arg5(&call->data, a5); 584 584 585 585 send_call(irq, call); -
kernel/generic/src/ipc/kbox.c
reb13ef8 rfafb8e5 121 121 122 122 LOG("Continue with hangup message."); 123 IPC_SET_RETVAL(&call->data, 0);123 ipc_set_retval(&call->data, 0); 124 124 ipc_answer(&TASK->kb.box, call); 125 125 … … 174 174 continue; /* Try again. */ 175 175 176 switch ( IPC_GET_IMETHOD(&call->data)) {176 switch (ipc_get_imethod(&call->data)) { 177 177 178 178 case IPC_M_DEBUG: -
kernel/generic/src/ipc/ops/conctmeto.c
reb13ef8 rfafb8e5 59 59 60 60 /* Remember the handle */ 61 IPC_SET_ARG5(&call->data, (sysarg_t) phandle);61 ipc_set_arg5(&call->data, (sysarg_t) phandle); 62 62 63 63 return EOK; … … 66 66 static errno_t request_forget(call_t *call) 67 67 { 68 cap_phone_handle_t phandle = (cap_handle_t) IPC_GET_ARG5(&call->data);68 cap_phone_handle_t phandle = (cap_handle_t) ipc_get_arg5(&call->data); 69 69 70 70 if (cap_handle_raw(phandle) < 0) … … 88 88 89 89 /* Set the recipient-assigned label */ 90 pobj->phone->label = IPC_GET_ARG5(&answer->data);90 pobj->phone->label = ipc_get_arg5(&answer->data); 91 91 92 92 /* Restore phone handle in answer's ARG5 */ 93 IPC_SET_ARG5(&answer->data, IPC_GET_ARG5(olddata));93 ipc_set_arg5(&answer->data, ipc_get_arg5(olddata)); 94 94 95 95 /* If the user accepted the call, connect */ 96 if ( IPC_GET_RETVAL(&answer->data) == EOK) {96 if (ipc_get_retval(&answer->data) == EOK) { 97 97 /* Hand over reference from pobj to the answerbox */ 98 98 (void) ipc_phone_connect(pobj->phone, &TASK->answerbox); … … 107 107 static errno_t answer_process(call_t *answer) 108 108 { 109 cap_phone_handle_t phandle = (cap_handle_t) IPC_GET_ARG5(&answer->data);109 cap_phone_handle_t phandle = (cap_handle_t) ipc_get_arg5(&answer->data); 110 110 /* Move the reference from answer->priv to pobj */ 111 111 kobject_t *pobj = (kobject_t *) answer->priv; 112 112 answer->priv = 0; 113 113 114 if ( IPC_GET_RETVAL(&answer->data)) {114 if (ipc_get_retval(&answer->data)) { 115 115 if (cap_handle_raw(phandle) >= 0) { 116 116 /* -
kernel/generic/src/ipc/ops/concttome.c
reb13ef8 rfafb8e5 49 49 * Set the sender-assigned label to the new phone. 50 50 */ 51 pobj->phone->label = IPC_GET_ARG5(&call->data);51 pobj->phone->label = ipc_get_arg5(&call->data); 52 52 } 53 53 call->priv = (sysarg_t) pobj; 54 IPC_SET_ARG5(&call->data, cap_handle_raw(phandle));54 ipc_set_arg5(&call->data, cap_handle_raw(phandle)); 55 55 return 0; 56 56 } … … 58 58 static errno_t answer_cleanup(call_t *answer, ipc_data_t *olddata) 59 59 { 60 cap_phone_handle_t phandle = (cap_handle_t) IPC_GET_ARG5(olddata);60 cap_phone_handle_t phandle = (cap_handle_t) ipc_get_arg5(olddata); 61 61 kobject_t *pobj = (kobject_t *) answer->priv; 62 62 … … 71 71 static errno_t answer_preprocess(call_t *answer, ipc_data_t *olddata) 72 72 { 73 cap_phone_handle_t phandle = (cap_handle_t) IPC_GET_ARG5(olddata);73 cap_phone_handle_t phandle = (cap_handle_t) ipc_get_arg5(olddata); 74 74 kobject_t *pobj = (kobject_t *) answer->priv; 75 75 76 if ( IPC_GET_RETVAL(&answer->data) != EOK) {76 if (ipc_get_retval(&answer->data) != EOK) { 77 77 /* The connection was not accepted */ 78 78 answer_cleanup(answer, olddata); … … 94 94 } else { 95 95 /* The answerbox is shutting down. */ 96 IPC_SET_RETVAL(&answer->data, ENOENT);96 ipc_set_retval(&answer->data, ENOENT); 97 97 answer_cleanup(answer, olddata); 98 98 } 99 99 } else { 100 IPC_SET_RETVAL(&answer->data, ELIMIT);100 ipc_set_retval(&answer->data, ELIMIT); 101 101 } 102 102 -
kernel/generic/src/ipc/ops/dataread.c
reb13ef8 rfafb8e5 43 43 static errno_t request_preprocess(call_t *call, phone_t *phone) 44 44 { 45 size_t size = IPC_GET_ARG2(&call->data);45 size_t size = ipc_get_arg2(&call->data); 46 46 47 47 if (size > DATA_XFER_LIMIT) { 48 int flags = IPC_GET_ARG3(&call->data);48 int flags = ipc_get_arg3(&call->data); 49 49 50 50 if (flags & IPC_XF_RESTRICT) 51 IPC_SET_ARG2(&call->data, DATA_XFER_LIMIT);51 ipc_set_arg2(&call->data, DATA_XFER_LIMIT); 52 52 else 53 53 return ELIMIT; … … 61 61 assert(!answer->buffer); 62 62 63 if (! IPC_GET_RETVAL(&answer->data)) {63 if (!ipc_get_retval(&answer->data)) { 64 64 /* The recipient agreed to send data. */ 65 uintptr_t src = IPC_GET_ARG1(&answer->data);66 uintptr_t dst = IPC_GET_ARG1(olddata);67 size_t max_size = IPC_GET_ARG2(olddata);68 size_t size = IPC_GET_ARG2(&answer->data);65 uintptr_t src = ipc_get_arg1(&answer->data); 66 uintptr_t dst = ipc_get_arg1(olddata); 67 size_t max_size = ipc_get_arg2(olddata); 68 size_t size = ipc_get_arg2(&answer->data); 69 69 70 70 if (size && size <= max_size) { … … 73 73 * information is not lost. 74 74 */ 75 IPC_SET_ARG1(&answer->data, dst);75 ipc_set_arg1(&answer->data, dst); 76 76 77 77 answer->buffer = malloc(size); 78 78 if (!answer->buffer) { 79 IPC_SET_RETVAL(&answer->data, ENOMEM);79 ipc_set_retval(&answer->data, ENOMEM); 80 80 return EOK; 81 81 } … … 83 83 (void *) src, size); 84 84 if (rc) { 85 IPC_SET_RETVAL(&answer->data, rc);85 ipc_set_retval(&answer->data, rc); 86 86 /* 87 87 * answer->buffer will be cleaned up in … … 91 91 } 92 92 } else if (!size) { 93 IPC_SET_RETVAL(&answer->data, EOK);93 ipc_set_retval(&answer->data, EOK); 94 94 } else { 95 IPC_SET_RETVAL(&answer->data, ELIMIT);95 ipc_set_retval(&answer->data, ELIMIT); 96 96 } 97 97 } … … 103 103 { 104 104 if (answer->buffer) { 105 uintptr_t dst = IPC_GET_ARG1(&answer->data);106 size_t size = IPC_GET_ARG2(&answer->data);105 uintptr_t dst = ipc_get_arg1(&answer->data); 106 size_t size = ipc_get_arg2(&answer->data); 107 107 errno_t rc; 108 108 109 109 rc = copy_to_uspace((void *) dst, answer->buffer, size); 110 110 if (rc) 111 IPC_SET_RETVAL(&answer->data, rc);111 ipc_set_retval(&answer->data, rc); 112 112 } 113 113 -
kernel/generic/src/ipc/ops/datawrite.c
reb13ef8 rfafb8e5 43 43 static errno_t request_preprocess(call_t *call, phone_t *phone) 44 44 { 45 uintptr_t src = IPC_GET_ARG1(&call->data);46 size_t size = IPC_GET_ARG2(&call->data);45 uintptr_t src = ipc_get_arg1(&call->data); 46 size_t size = ipc_get_arg2(&call->data); 47 47 48 48 if (size > DATA_XFER_LIMIT) { 49 int flags = IPC_GET_ARG3(&call->data);49 int flags = ipc_get_arg3(&call->data); 50 50 51 51 if (flags & IPC_XF_RESTRICT) { 52 52 size = DATA_XFER_LIMIT; 53 IPC_SET_ARG2(&call->data, size);53 ipc_set_arg2(&call->data, size); 54 54 } else 55 55 return ELIMIT; … … 75 75 assert(answer->buffer); 76 76 77 if (! IPC_GET_RETVAL(&answer->data)) {77 if (!ipc_get_retval(&answer->data)) { 78 78 /* The recipient agreed to receive data. */ 79 uintptr_t dst = (uintptr_t) IPC_GET_ARG1(&answer->data);80 size_t size = (size_t) IPC_GET_ARG2(&answer->data);81 size_t max_size = (size_t) IPC_GET_ARG2(olddata);79 uintptr_t dst = (uintptr_t)ipc_get_arg1(&answer->data); 80 size_t size = (size_t)ipc_get_arg2(&answer->data); 81 size_t max_size = (size_t)ipc_get_arg2(olddata); 82 82 83 83 if (size <= max_size) { … … 85 85 answer->buffer, size); 86 86 if (rc) 87 IPC_SET_RETVAL(&answer->data, rc);87 ipc_set_retval(&answer->data, rc); 88 88 } else { 89 IPC_SET_RETVAL(&answer->data, ELIMIT);89 ipc_set_retval(&answer->data, ELIMIT); 90 90 } 91 91 } -
kernel/generic/src/ipc/ops/debug.c
reb13ef8 rfafb8e5 47 47 { 48 48 if (answer->buffer) { 49 uintptr_t dst = IPC_GET_ARG1(&answer->data);50 size_t size = IPC_GET_ARG2(&answer->data);49 uintptr_t dst = ipc_get_arg1(&answer->data); 50 size_t size = ipc_get_arg2(&answer->data); 51 51 errno_t rc; 52 52 53 53 rc = copy_to_uspace((void *) dst, answer->buffer, size); 54 54 if (rc) 55 IPC_SET_RETVAL(&answer->data, rc);55 ipc_set_retval(&answer->data, rc); 56 56 } 57 57 -
kernel/generic/src/ipc/ops/pagein.c
reb13ef8 rfafb8e5 68 68 return EOK; 69 69 70 if (! IPC_GET_RETVAL(&answer->data)) {70 if (!ipc_get_retval(&answer->data)) { 71 71 72 72 pte_t pte; … … 74 74 75 75 page_table_lock(AS, true); 76 bool found = page_mapping_find(AS, IPC_GET_ARG1(&answer->data),76 bool found = page_mapping_find(AS, ipc_get_arg1(&answer->data), 77 77 false, &pte); 78 78 if (found & PTE_PRESENT(&pte)) { … … 86 86 frame_reference_add(ADDR2PFN(frame)); 87 87 } 88 IPC_SET_ARG1(&answer->data, frame);88 ipc_set_arg1(&answer->data, frame); 89 89 } else { 90 IPC_SET_RETVAL(&answer->data, ENOENT);90 ipc_set_retval(&answer->data, ENOENT); 91 91 } 92 92 page_table_unlock(AS, true); -
kernel/generic/src/ipc/ops/sharein.c
reb13ef8 rfafb8e5 43 43 static errno_t answer_preprocess(call_t *answer, ipc_data_t *olddata) 44 44 { 45 if (! IPC_GET_RETVAL(&answer->data)) {45 if (!ipc_get_retval(&answer->data)) { 46 46 irq_spinlock_lock(&answer->sender->lock, true); 47 47 as_t *as = answer->sender->as; … … 49 49 50 50 uintptr_t dst_base = (uintptr_t) -1; 51 errno_t rc = as_area_share(AS, IPC_GET_ARG1(&answer->data),52 IPC_GET_ARG1(olddata), as, IPC_GET_ARG2(&answer->data),53 &dst_base, IPC_GET_ARG2(olddata));54 IPC_SET_ARG5(&answer->data, dst_base);55 IPC_SET_RETVAL(&answer->data, rc);51 errno_t rc = as_area_share(AS, ipc_get_arg1(&answer->data), 52 ipc_get_arg1(olddata), as, ipc_get_arg2(&answer->data), 53 &dst_base, ipc_get_arg2(olddata)); 54 ipc_set_arg5(&answer->data, dst_base); 55 ipc_set_retval(&answer->data, rc); 56 56 } 57 57 -
kernel/generic/src/ipc/ops/shareout.c
reb13ef8 rfafb8e5 44 44 static errno_t request_preprocess(call_t *call, phone_t *phone) 45 45 { 46 size_t size = as_area_get_size( IPC_GET_ARG1(&call->data));46 size_t size = as_area_get_size(ipc_get_arg1(&call->data)); 47 47 48 48 if (!size) 49 49 return EPERM; 50 IPC_SET_ARG2(&call->data, size);50 ipc_set_arg2(&call->data, size); 51 51 52 52 return EOK; … … 57 57 errno_t rc = EOK; 58 58 59 if (! IPC_GET_RETVAL(&answer->data)) {59 if (!ipc_get_retval(&answer->data)) { 60 60 /* Accepted, handle as_area receipt */ 61 61 … … 65 65 66 66 uintptr_t dst_base = (uintptr_t) -1; 67 rc = as_area_share(as, IPC_GET_ARG1(olddata),68 IPC_GET_ARG2(olddata), AS, IPC_GET_ARG3(olddata),69 &dst_base, IPC_GET_ARG1(&answer->data));67 rc = as_area_share(as, ipc_get_arg1(olddata), 68 ipc_get_arg2(olddata), AS, ipc_get_arg3(olddata), 69 &dst_base, ipc_get_arg1(&answer->data)); 70 70 71 71 if (rc == EOK) { 72 rc = copy_to_uspace((void *) IPC_GET_ARG2(&answer->data),72 rc = copy_to_uspace((void *) ipc_get_arg2(&answer->data), 73 73 &dst_base, sizeof(dst_base)); 74 74 } 75 75 76 IPC_SET_RETVAL(&answer->data, rc);76 ipc_set_retval(&answer->data, rc); 77 77 } 78 78 -
kernel/generic/src/ipc/ops/stchngath.c
reb13ef8 rfafb8e5 46 46 47 47 kobject_t *sender_obj = kobject_get(TASK, 48 (cap_handle_t) IPC_GET_ARG5(&call->data), KOBJECT_TYPE_PHONE);48 (cap_handle_t) ipc_get_arg5(&call->data), KOBJECT_TYPE_PHONE); 49 49 if (!sender_obj) 50 50 return ENOENT; … … 62 62 63 63 /* Remember the third party task hash. */ 64 IPC_SET_ARG5(&call->data, (sysarg_t) other_task_s);64 ipc_set_arg5(&call->data, (sysarg_t) other_task_s); 65 65 66 66 kobject_put(sender_obj); … … 72 72 errno_t rc = EOK; 73 73 74 if (! IPC_GET_RETVAL(&answer->data)) {74 if (!ipc_get_retval(&answer->data)) { 75 75 /* The recipient authorized the change of state. */ 76 76 task_t *other_task_s; … … 78 78 79 79 kobject_t *recipient_obj = kobject_get(TASK, 80 (cap_handle_t) IPC_GET_ARG1(&answer->data),80 (cap_handle_t) ipc_get_arg1(&answer->data), 81 81 KOBJECT_TYPE_PHONE); 82 82 if (!recipient_obj) { 83 IPC_SET_RETVAL(&answer->data, ENOENT);83 ipc_set_retval(&answer->data, ENOENT); 84 84 return ENOENT; 85 85 } … … 88 88 if (recipient_obj->phone->state != IPC_PHONE_CONNECTED) { 89 89 mutex_unlock(&recipient_obj->phone->lock); 90 IPC_SET_RETVAL(&answer->data, EINVAL);90 ipc_set_retval(&answer->data, EINVAL); 91 91 kobject_put(recipient_obj); 92 92 return EINVAL; … … 94 94 95 95 other_task_r = recipient_obj->phone->callee->task; 96 other_task_s = (task_t *) IPC_GET_ARG5(olddata);96 other_task_s = (task_t *) ipc_get_arg5(olddata); 97 97 98 98 /* … … 101 101 */ 102 102 if (other_task_r != other_task_s) { 103 IPC_SET_RETVAL(&answer->data, EINVAL);103 ipc_set_retval(&answer->data, EINVAL); 104 104 rc = EINVAL; 105 105 } else { 106 106 rc = event_task_notify_5(other_task_r, 107 107 EVENT_TASK_STATE_CHANGE, false, 108 IPC_GET_ARG1(olddata),109 IPC_GET_ARG2(olddata),110 IPC_GET_ARG3(olddata),108 ipc_get_arg1(olddata), 109 ipc_get_arg2(olddata), 110 ipc_get_arg3(olddata), 111 111 LOWER32(olddata->task_id), 112 112 UPPER32(olddata->task_id)); 113 IPC_SET_RETVAL(&answer->data, rc);113 ipc_set_retval(&answer->data, rc); 114 114 } 115 115 -
kernel/generic/src/ipc/sysipc.c
reb13ef8 rfafb8e5 131 131 static inline bool answer_need_old(call_t *call) 132 132 { 133 switch ( IPC_GET_IMETHOD(&call->data)) {133 switch (ipc_get_imethod(&call->data)) { 134 134 case IPC_M_CONNECT_TO_ME: 135 135 case IPC_M_CONNECT_ME_TO: … … 192 192 spinlock_unlock(&answer->forget_lock); 193 193 194 if ((errno_t) IPC_GET_RETVAL(&answer->data) == EHANGUP) {194 if ((errno_t) ipc_get_retval(&answer->data) == EHANGUP) { 195 195 phone_t *phone = answer->caller_phone; 196 196 mutex_lock(&phone->lock); … … 223 223 static errno_t request_preprocess(call_t *call, phone_t *phone) 224 224 { 225 call->request_method = IPC_GET_IMETHOD(&call->data);225 call->request_method = ipc_get_imethod(&call->data); 226 226 return SYSIPC_OP(request_preprocess, call, phone); 227 227 } … … 238 238 static void process_answer(call_t *call) 239 239 { 240 if (((errno_t) IPC_GET_RETVAL(&call->data) == EHANGUP) &&240 if (((errno_t) ipc_get_retval(&call->data) == EHANGUP) && 241 241 (call->flags & IPC_CALL_FORWARDED)) 242 IPC_SET_RETVAL(&call->data, EFORWARD);242 ipc_set_retval(&call->data, EFORWARD); 243 243 244 244 SYSIPC_OP(answer_process, call); … … 326 326 process_answer(call); 327 327 } else 328 IPC_SET_RETVAL(&call->data, rc);328 ipc_set_retval(&call->data, rc); 329 329 330 330 memcpy(data->args, call->data.args, sizeof(data->args)); … … 385 385 } 386 386 387 IPC_SET_IMETHOD(&call->data, imethod);388 IPC_SET_ARG1(&call->data, arg1);389 IPC_SET_ARG2(&call->data, arg2);390 IPC_SET_ARG3(&call->data, arg3);387 ipc_set_imethod(&call->data, imethod); 388 ipc_set_arg1(&call->data, arg1); 389 ipc_set_arg2(&call->data, arg2); 390 ipc_set_arg3(&call->data, arg3); 391 391 392 392 /* … … 394 394 * the limits of the fast version. 395 395 */ 396 IPC_SET_ARG5(&call->data, 0);396 ipc_set_arg5(&call->data, 0); 397 397 398 398 /* Set the user-defined label */ … … 505 505 } 506 506 507 if (!method_is_forwardable( IPC_GET_IMETHOD(&call->data))) {507 if (!method_is_forwardable(ipc_get_imethod(&call->data))) { 508 508 rc = EPERM; 509 509 goto error; … … 518 518 * If the interface and method is immutable, don't change anything. 519 519 */ 520 if (!method_is_immutable( IPC_GET_IMETHOD(&call->data))) {521 if (method_is_system( IPC_GET_IMETHOD(&call->data))) {522 if ( IPC_GET_IMETHOD(&call->data) ==520 if (!method_is_immutable(ipc_get_imethod(&call->data))) { 521 if (method_is_system(ipc_get_imethod(&call->data))) { 522 if (ipc_get_imethod(&call->data) == 523 523 IPC_M_CONNECT_TO_ME) { 524 524 kobject_put((kobject_t *) call->priv); 525 525 call->priv = 0; 526 526 cap_free(TASK, 527 (cap_handle_t) IPC_GET_ARG5(&call->data));527 (cap_handle_t) ipc_get_arg5(&call->data)); 528 528 } 529 529 530 IPC_SET_ARG1(&call->data, imethod);531 IPC_SET_ARG2(&call->data, arg1);532 IPC_SET_ARG3(&call->data, arg2);530 ipc_set_arg1(&call->data, imethod); 531 ipc_set_arg2(&call->data, arg1); 532 ipc_set_arg3(&call->data, arg2); 533 533 534 534 if (slow) 535 IPC_SET_ARG4(&call->data, arg3);535 ipc_set_arg4(&call->data, arg3); 536 536 537 537 /* … … 540 540 */ 541 541 } else { 542 IPC_SET_IMETHOD(&call->data, imethod);543 IPC_SET_ARG1(&call->data, arg1);544 IPC_SET_ARG2(&call->data, arg2);542 ipc_set_imethod(&call->data, imethod); 543 ipc_set_arg1(&call->data, arg1); 544 ipc_set_arg2(&call->data, arg2); 545 545 if (slow) { 546 IPC_SET_ARG3(&call->data, arg3);547 IPC_SET_ARG4(&call->data, arg4);548 IPC_SET_ARG5(&call->data, arg5);546 ipc_set_arg3(&call->data, arg3); 547 ipc_set_arg4(&call->data, arg4); 548 ipc_set_arg5(&call->data, arg5); 549 549 } 550 550 } … … 563 563 564 564 error: 565 IPC_SET_RETVAL(&call->data, EFORWARD);565 ipc_set_retval(&call->data, EFORWARD); 566 566 (void) answer_preprocess(call, need_old ? &old : NULL); 567 567 if (after_forward) … … 632 632 633 633 return sys_ipc_forward_common(chandle, phandle, 634 IPC_GET_IMETHOD(&newdata), IPC_GET_ARG1(&newdata),635 IPC_GET_ARG2(&newdata), IPC_GET_ARG3(&newdata),636 IPC_GET_ARG4(&newdata), IPC_GET_ARG5(&newdata), mode, true);634 ipc_get_imethod(&newdata), ipc_get_arg1(&newdata), 635 ipc_get_arg2(&newdata), ipc_get_arg3(&newdata), 636 ipc_get_arg4(&newdata), ipc_get_arg5(&newdata), mode, true); 637 637 } 638 638 … … 671 671 saved = false; 672 672 673 IPC_SET_RETVAL(&call->data, retval);674 IPC_SET_ARG1(&call->data, arg1);675 IPC_SET_ARG2(&call->data, arg2);676 IPC_SET_ARG3(&call->data, arg3);677 IPC_SET_ARG4(&call->data, arg4);673 ipc_set_retval(&call->data, retval); 674 ipc_set_arg1(&call->data, arg1); 675 ipc_set_arg2(&call->data, arg2); 676 ipc_set_arg3(&call->data, arg3); 677 ipc_set_arg4(&call->data, arg4); 678 678 679 679 /* … … 681 681 * the limits of the fast version. 682 682 */ 683 IPC_SET_ARG5(&call->data, 0);683 ipc_set_arg5(&call->data, 0); 684 684 errno_t rc = answer_preprocess(call, saved ? &saved_data : NULL); 685 685 … … 858 858 saved = false; 859 859 860 IPC_SET_RETVAL(&call->data, EPARTY);860 ipc_set_retval(&call->data, EPARTY); 861 861 (void) answer_preprocess(call, saved ? &saved_data : NULL); 862 862 call->flags |= IPC_CALL_AUTO_REPLY; -
kernel/generic/src/mm/backend_user.c
reb13ef8 rfafb8e5 119 119 120 120 ipc_data_t data = { }; 121 IPC_SET_IMETHOD(&data, IPC_M_PAGE_IN);122 IPC_SET_ARG1(&data, upage - area->base);123 IPC_SET_ARG2(&data, PAGE_SIZE);124 IPC_SET_ARG3(&data, pager_info->id1);125 IPC_SET_ARG4(&data, pager_info->id2);126 IPC_SET_ARG5(&data, pager_info->id3);121 ipc_set_imethod(&data, IPC_M_PAGE_IN); 122 ipc_set_arg1(&data, upage - area->base); 123 ipc_set_arg2(&data, PAGE_SIZE); 124 ipc_set_arg3(&data, pager_info->id1); 125 ipc_set_arg4(&data, pager_info->id2); 126 ipc_set_arg5(&data, pager_info->id3); 127 127 128 128 errno_t rc = ipc_req_internal(pager_info->pager, &data, (sysarg_t) true); … … 136 136 } 137 137 138 if ( IPC_GET_RETVAL(&data) != EOK)138 if (ipc_get_retval(&data) != EOK) 139 139 return AS_PF_FAULT; 140 140 … … 145 145 */ 146 146 147 uintptr_t frame = IPC_GET_ARG1(&data);147 uintptr_t frame = ipc_get_arg1(&data); 148 148 page_mapping_insert(AS, upage, frame, as_area_get_flags(area)); 149 149 if (!used_space_insert(&area->used_space, upage, 1)) -
kernel/generic/src/udebug/udebug.c
reb13ef8 rfafb8e5 141 141 TASK->udebug.begin_call = NULL; 142 142 143 IPC_SET_RETVAL(&db_call->data, 0);143 ipc_set_retval(&db_call->data, 0); 144 144 ipc_answer(&TASK->answerbox, db_call); 145 145 } else if (TASK->udebug.dt_state == UDEBUG_TS_ACTIVE) { … … 160 160 assert(go_call); 161 161 162 IPC_SET_RETVAL(&go_call->data, 0);163 IPC_SET_ARG1(&go_call->data, UDEBUG_EVENT_STOP);162 ipc_set_retval(&go_call->data, 0); 163 ipc_set_arg1(&go_call->data, UDEBUG_EVENT_STOP); 164 164 165 165 THREAD->udebug.cur_event = UDEBUG_EVENT_STOP; … … 243 243 THREAD->udebug.go_call = NULL; 244 244 245 IPC_SET_RETVAL(&call->data, 0);246 IPC_SET_ARG1(&call->data, etype);247 IPC_SET_ARG2(&call->data, id);248 IPC_SET_ARG3(&call->data, rc);245 ipc_set_retval(&call->data, 0); 246 ipc_set_arg1(&call->data, etype); 247 ipc_set_arg2(&call->data, id); 248 ipc_set_arg3(&call->data, rc); 249 249 250 250 THREAD->udebug.syscall_args[0] = a1; … … 314 314 315 315 THREAD->udebug.go_call = NULL; 316 IPC_SET_RETVAL(&call->data, 0);317 IPC_SET_ARG1(&call->data, UDEBUG_EVENT_THREAD_B);318 IPC_SET_ARG2(&call->data, (sysarg_t) thread);316 ipc_set_retval(&call->data, 0); 317 ipc_set_arg1(&call->data, UDEBUG_EVENT_THREAD_B); 318 ipc_set_arg2(&call->data, (sysarg_t) thread); 319 319 320 320 /* … … 365 365 366 366 THREAD->udebug.go_call = NULL; 367 IPC_SET_RETVAL(&call->data, 0);368 IPC_SET_ARG1(&call->data, UDEBUG_EVENT_THREAD_E);367 ipc_set_retval(&call->data, 0); 368 ipc_set_arg1(&call->data, UDEBUG_EVENT_THREAD_E); 369 369 370 370 /* Prevent any further debug activity in thread. */ … … 428 428 LOG("Answer GO call with EVENT_FINISHED."); 429 429 430 IPC_SET_RETVAL(&thread->udebug.go_call->data, 0);431 IPC_SET_ARG1(&thread->udebug.go_call->data,430 ipc_set_retval(&thread->udebug.go_call->data, 0); 431 ipc_set_arg1(&thread->udebug.go_call->data, 432 432 UDEBUG_EVENT_FINISHED); 433 433 -
kernel/generic/src/udebug/udebug_ipc.c
reb13ef8 rfafb8e5 53 53 errno_t udebug_request_preprocess(call_t *call, phone_t *phone) 54 54 { 55 switch ( IPC_GET_ARG1(&call->data)) {55 switch (ipc_get_arg1(&call->data)) { 56 56 /* future UDEBUG_M_REGS_WRITE, UDEBUG_M_MEM_WRITE: */ 57 57 default: … … 76 76 rc = udebug_begin(call, &active); 77 77 if (rc != EOK) { 78 IPC_SET_RETVAL(&call->data, rc);78 ipc_set_retval(&call->data, rc); 79 79 ipc_answer(&TASK->kb.box, call); 80 80 return; … … 86 86 */ 87 87 if (active) { 88 IPC_SET_RETVAL(&call->data, EOK);88 ipc_set_retval(&call->data, EOK); 89 89 ipc_answer(&TASK->kb.box, call); 90 90 } … … 102 102 rc = udebug_end(); 103 103 104 IPC_SET_RETVAL(&call->data, rc);104 ipc_set_retval(&call->data, rc); 105 105 ipc_answer(&TASK->kb.box, call); 106 106 } … … 116 116 udebug_evmask_t mask; 117 117 118 mask = IPC_GET_ARG2(&call->data);118 mask = ipc_get_arg2(&call->data); 119 119 rc = udebug_set_evmask(mask); 120 120 121 IPC_SET_RETVAL(&call->data, rc);121 ipc_set_retval(&call->data, rc); 122 122 ipc_answer(&TASK->kb.box, call); 123 123 } … … 133 133 errno_t rc; 134 134 135 t = (thread_t *) IPC_GET_ARG2(&call->data);135 t = (thread_t *)ipc_get_arg2(&call->data); 136 136 137 137 rc = udebug_go(t, call); 138 138 if (rc != EOK) { 139 IPC_SET_RETVAL(&call->data, rc);139 ipc_set_retval(&call->data, rc); 140 140 ipc_answer(&TASK->kb.box, call); 141 141 return; … … 153 153 errno_t rc; 154 154 155 t = (thread_t *) IPC_GET_ARG2(&call->data);155 t = (thread_t *)ipc_get_arg2(&call->data); 156 156 157 157 rc = udebug_stop(t, call); 158 IPC_SET_RETVAL(&call->data, rc);158 ipc_set_retval(&call->data, rc); 159 159 ipc_answer(&TASK->kb.box, call); 160 160 } … … 173 173 errno_t rc; 174 174 175 uspace_addr = IPC_GET_ARG2(&call->data); /* Destination address */176 buf_size = IPC_GET_ARG3(&call->data); /* Dest. buffer size */175 uspace_addr = ipc_get_arg2(&call->data); /* Destination address */ 176 buf_size = ipc_get_arg3(&call->data); /* Dest. buffer size */ 177 177 178 178 /* … … 182 182 rc = udebug_thread_read(&buffer, buf_size, &copied, &needed); 183 183 if (rc != EOK) { 184 IPC_SET_RETVAL(&call->data, rc);184 ipc_set_retval(&call->data, rc); 185 185 ipc_answer(&TASK->kb.box, call); 186 186 return; … … 191 191 */ 192 192 193 IPC_SET_RETVAL(&call->data, 0);194 /* 195 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 196 * same code in process_answer() can be used 197 * (no way to distinguish method in answer) 198 */ 199 IPC_SET_ARG1(&call->data, uspace_addr);200 IPC_SET_ARG2(&call->data, copied);201 IPC_SET_ARG3(&call->data, needed);193 ipc_set_retval(&call->data, 0); 194 /* 195 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 196 * same code in process_answer() can be used 197 * (no way to distinguish method in answer) 198 */ 199 ipc_set_arg1(&call->data, uspace_addr); 200 ipc_set_arg2(&call->data, copied); 201 ipc_set_arg3(&call->data, needed); 202 202 call->buffer = buffer; 203 203 … … 219 219 void *data; 220 220 221 uspace_addr = IPC_GET_ARG2(&call->data); /* Destination address */222 buf_size = IPC_GET_ARG3(&call->data); /* Dest. buffer size */221 uspace_addr = ipc_get_arg2(&call->data); /* Destination address */ 222 buf_size = ipc_get_arg3(&call->data); /* Dest. buffer size */ 223 223 224 224 /* … … 238 238 */ 239 239 240 IPC_SET_RETVAL(&call->data, 0);241 /* 242 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 243 * same code in process_answer() can be used 244 * (no way to distinguish method in answer) 245 */ 246 IPC_SET_ARG1(&call->data, uspace_addr);247 IPC_SET_ARG2(&call->data, to_copy);248 249 IPC_SET_ARG3(&call->data, data_size);240 ipc_set_retval(&call->data, 0); 241 /* 242 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 243 * same code in process_answer() can be used 244 * (no way to distinguish method in answer) 245 */ 246 ipc_set_arg1(&call->data, uspace_addr); 247 ipc_set_arg2(&call->data, to_copy); 248 249 ipc_set_arg3(&call->data, data_size); 250 250 call->buffer = data; 251 251 … … 268 268 as_area_info_t *data; 269 269 270 uspace_addr = IPC_GET_ARG2(&call->data); /* Destination address */271 buf_size = IPC_GET_ARG3(&call->data); /* Dest. buffer size */270 uspace_addr = ipc_get_arg2(&call->data); /* Destination address */ 271 buf_size = ipc_get_arg3(&call->data); /* Dest. buffer size */ 272 272 273 273 /* … … 276 276 data = as_get_area_info(AS, &data_size); 277 277 if (!data) { 278 IPC_SET_RETVAL(&call->data, ENOMEM);278 ipc_set_retval(&call->data, ENOMEM); 279 279 ipc_answer(&TASK->kb.box, call); 280 280 return; … … 292 292 */ 293 293 294 IPC_SET_RETVAL(&call->data, 0);295 /* 296 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 297 * same code in process_answer() can be used 298 * (no way to distinguish method in answer) 299 */ 300 IPC_SET_ARG1(&call->data, uspace_addr);301 IPC_SET_ARG2(&call->data, to_copy);302 303 IPC_SET_ARG3(&call->data, data_size);294 ipc_set_retval(&call->data, 0); 295 /* 296 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 297 * same code in process_answer() can be used 298 * (no way to distinguish method in answer) 299 */ 300 ipc_set_arg1(&call->data, uspace_addr); 301 ipc_set_arg2(&call->data, to_copy); 302 303 ipc_set_arg3(&call->data, data_size); 304 304 call->buffer = (uint8_t *) data; 305 305 … … 319 319 void *buffer; 320 320 321 t = (thread_t *) IPC_GET_ARG2(&call->data);321 t = (thread_t *)ipc_get_arg2(&call->data); 322 322 323 323 rc = udebug_args_read(t, &buffer); 324 324 if (rc != EOK) { 325 IPC_SET_RETVAL(&call->data, rc);325 ipc_set_retval(&call->data, rc); 326 326 ipc_answer(&TASK->kb.box, call); 327 327 return; … … 332 332 */ 333 333 334 uspace_addr = IPC_GET_ARG3(&call->data);335 336 IPC_SET_RETVAL(&call->data, 0);337 /* 338 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 339 * same code in process_answer() can be used 340 * (no way to distinguish method in answer) 341 */ 342 IPC_SET_ARG1(&call->data, uspace_addr);343 IPC_SET_ARG2(&call->data, 6 * sizeof(sysarg_t));334 uspace_addr = ipc_get_arg3(&call->data); 335 336 ipc_set_retval(&call->data, 0); 337 /* 338 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 339 * same code in process_answer() can be used 340 * (no way to distinguish method in answer) 341 */ 342 ipc_set_arg1(&call->data, uspace_addr); 343 ipc_set_arg2(&call->data, 6 * sizeof(sysarg_t)); 344 344 call->buffer = buffer; 345 345 … … 359 359 errno_t rc; 360 360 361 t = (thread_t *) IPC_GET_ARG2(&call->data);361 t = (thread_t *) ipc_get_arg2(&call->data); 362 362 363 363 rc = udebug_regs_read(t, &buffer); 364 364 if (rc != EOK) { 365 IPC_SET_RETVAL(&call->data, rc);365 ipc_set_retval(&call->data, rc); 366 366 ipc_answer(&TASK->kb.box, call); 367 367 return; … … 374 374 */ 375 375 376 uspace_addr = IPC_GET_ARG3(&call->data);376 uspace_addr = ipc_get_arg3(&call->data); 377 377 to_copy = sizeof(istate_t); 378 378 379 IPC_SET_RETVAL(&call->data, 0);380 /* 381 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 382 * same code in process_answer() can be used 383 * (no way to distinguish method in answer) 384 */ 385 IPC_SET_ARG1(&call->data, uspace_addr);386 IPC_SET_ARG2(&call->data, to_copy);379 ipc_set_retval(&call->data, 0); 380 /* 381 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 382 * same code in process_answer() can be used 383 * (no way to distinguish method in answer) 384 */ 385 ipc_set_arg1(&call->data, uspace_addr); 386 ipc_set_arg2(&call->data, to_copy); 387 387 388 388 call->buffer = buffer; … … 404 404 errno_t rc; 405 405 406 uspace_dst = IPC_GET_ARG2(&call->data);407 uspace_src = IPC_GET_ARG3(&call->data);408 size = IPC_GET_ARG4(&call->data);406 uspace_dst = ipc_get_arg2(&call->data); 407 uspace_src = ipc_get_arg3(&call->data); 408 size = ipc_get_arg4(&call->data); 409 409 410 410 rc = udebug_mem_read(uspace_src, size, &buffer); 411 411 if (rc != EOK) { 412 IPC_SET_RETVAL(&call->data, rc);412 ipc_set_retval(&call->data, rc); 413 413 ipc_answer(&TASK->kb.box, call); 414 414 return; … … 417 417 assert(buffer != NULL); 418 418 419 IPC_SET_RETVAL(&call->data, 0);420 /* 421 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 422 * same code in process_answer() can be used 423 * (no way to distinguish method in answer) 424 */ 425 IPC_SET_ARG1(&call->data, uspace_dst);426 IPC_SET_ARG2(&call->data, size);419 ipc_set_retval(&call->data, 0); 420 /* 421 * ARG1=dest, ARG2=size as in IPC_M_DATA_READ so that 422 * same code in process_answer() can be used 423 * (no way to distinguish method in answer) 424 */ 425 ipc_set_arg1(&call->data, uspace_dst); 426 ipc_set_arg2(&call->data, size); 427 427 call->buffer = buffer; 428 428 … … 439 439 int debug_method; 440 440 441 debug_method = IPC_GET_ARG1(&call->data);441 debug_method = ipc_get_arg1(&call->data); 442 442 443 443 if (debug_method != UDEBUG_M_BEGIN) { … … 450 450 */ 451 451 if (TASK->udebug.debugger != call->sender) { 452 IPC_SET_RETVAL(&call->data, EINVAL);452 ipc_set_retval(&call->data, EINVAL); 453 453 ipc_answer(&TASK->kb.box, call); 454 454 return; -
kernel/generic/src/udebug/udebug_ops.c
reb13ef8 rfafb8e5 328 328 thread->udebug.go_call = NULL; 329 329 330 IPC_SET_RETVAL(&call->data, 0);331 IPC_SET_ARG1(&call->data, UDEBUG_EVENT_STOP);330 ipc_set_retval(&call->data, 0); 331 ipc_set_arg1(&call->data, UDEBUG_EVENT_STOP); 332 332 333 333 THREAD->udebug.cur_event = UDEBUG_EVENT_STOP;
Note:
See TracChangeset
for help on using the changeset viewer.