Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/sysipc.c

    rfbcdeb8 rab34cc9  
    271271                        irq_spinlock_unlock(&answer->sender->lock, true);
    272272                       
    273                         uintptr_t dst_base = (uintptr_t) -1;
    274273                        int rc = as_area_share(as, IPC_GET_ARG1(*olddata),
    275                             IPC_GET_ARG2(*olddata), AS, IPC_GET_ARG3(*olddata),
    276                             &dst_base, IPC_GET_ARG1(answer->data));
    277                        
    278                         if (rc == EOK)
    279                                 rc = copy_to_uspace((void *) IPC_GET_ARG2(answer->data),
    280                                     &dst_base, sizeof(dst_base));
    281                        
     274                            IPC_GET_ARG2(*olddata), AS,
     275                            IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata));
    282276                        IPC_SET_RETVAL(answer->data, rc);
    283277                        return rc;
    284278                }
    285279        } else if (IPC_GET_IMETHOD(*olddata) == IPC_M_SHARE_IN) {
    286                 if (!IPC_GET_RETVAL(answer->data)) {
     280                if (!IPC_GET_RETVAL(answer->data)) { 
    287281                        irq_spinlock_lock(&answer->sender->lock, true);
    288282                        as_t *as = answer->sender->as;
    289283                        irq_spinlock_unlock(&answer->sender->lock, true);
    290284                       
    291                         uintptr_t dst_base = (uintptr_t) -1;
    292285                        int rc = as_area_share(AS, IPC_GET_ARG1(answer->data),
    293                             IPC_GET_ARG1(*olddata), as, IPC_GET_ARG2(answer->data),
    294                             &dst_base, IPC_GET_ARG3(answer->data));
    295                         IPC_SET_ARG4(answer->data, dst_base);
     286                            IPC_GET_ARG2(*olddata), as, IPC_GET_ARG1(*olddata),
     287                            IPC_GET_ARG2(answer->data));
    296288                        IPC_SET_RETVAL(answer->data, rc);
    297289                }
     
    11931185 *
    11941186 */
    1195 sysarg_t sys_irq_register(inr_t inr, devno_t devno, sysarg_t imethod,
     1187sysarg_t sys_register_irq(inr_t inr, devno_t devno, sysarg_t imethod,
    11961188    irq_code_t *ucode)
    11971189{
     
    12101202 *
    12111203 */
    1212 sysarg_t sys_irq_unregister(inr_t inr, devno_t devno)
     1204sysarg_t sys_unregister_irq(inr_t inr, devno_t devno)
    12131205{
    12141206        if (!(cap_get(TASK) & CAP_IRQ_REG))
Note: See TracChangeset for help on using the changeset viewer.