Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/syscall/syscall.c

    r9510be2 r2fa10f6  
    5959    unative_t a4, unative_t a5, unative_t a6, unative_t id)
    6060{
    61         unative_t rc;
    62 
     61        /* Do userpace accounting */
     62        irq_spinlock_lock(&THREAD->lock, true);
     63        thread_update_accounting(true);
     64        irq_spinlock_unlock(&THREAD->lock, true);
     65       
    6366#ifdef CONFIG_UDEBUG
    6467        /*
    6568         * Early check for undebugged tasks. We do not lock anything as this
    6669         * test need not be precise in either direction.
     70         *
    6771         */
    68         if (THREAD->udebug.active) {
     72        if (THREAD->udebug.active)
    6973                udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
    70         }
    7174#endif
    7275       
     76        unative_t rc;
    7377        if (id < SYSCALL_END) {
    7478                rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
     
    8589        if (THREAD->udebug.active) {
    8690                udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
    87        
     91               
    8892                /*
    8993                 * Stopping point needed for tasks that only invoke
     
    9599        }
    96100#endif
     101       
     102        /* Do kernel accounting */
     103        irq_spinlock_lock(&THREAD->lock, true);
     104        thread_update_accounting(false);
     105        irq_spinlock_unlock(&THREAD->lock, true);
    97106       
    98107        return rc;
     
    138147        (syshandler_t) sys_ipc_register_irq,
    139148        (syshandler_t) sys_ipc_unregister_irq,
    140 
     149       
    141150        /* Event notification syscalls. */
    142151        (syshandler_t) sys_event_subscribe,
     
    150159        (syshandler_t) sys_physmem_map,
    151160        (syshandler_t) sys_iospace_enable,
    152         (syshandler_t) sys_preempt_control,
    153161       
    154162        /* Sysinfo syscalls */
    155         (syshandler_t) sys_sysinfo_valid,
    156         (syshandler_t) sys_sysinfo_value,
     163        (syshandler_t) sys_sysinfo_get_tag,
     164        (syshandler_t) sys_sysinfo_get_value,
     165        (syshandler_t) sys_sysinfo_get_data_size,
     166        (syshandler_t) sys_sysinfo_get_data,
    157167       
    158168        /* Debug calls */
Note: See TracChangeset for help on using the changeset viewer.