Ignore:
File:
1 edited

Legend:

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

    r5bcf1f9 r2fa10f6  
    4545#include <debug.h>
    4646#include <ddi/device.h>
    47 #include <interrupt.h>
    4847#include <ipc/sysipc.h>
    4948#include <synch/futex.h>
     
    5756
    5857/** Dispatch system call */
    59 sysarg_t syscall_handler(sysarg_t a1, sysarg_t a2, sysarg_t a3,
    60     sysarg_t a4, sysarg_t a5, sysarg_t a6, sysarg_t id)
     58unative_t syscall_handler(unative_t a1, unative_t a2, unative_t a3,
     59    unative_t a4, unative_t a5, unative_t a6, unative_t id)
    6160{
    6261        /* Do userpace accounting */
     
    6766#ifdef CONFIG_UDEBUG
    6867        /*
    69          * An istate_t-compatible record was created on the stack by the
    70          * low-level syscall handler. This is the userspace space state
    71          * structure.
    72          */
    73         THREAD->udebug.uspace_state = istate_get(THREAD);
    74 
    75         /*
    7668         * Early check for undebugged tasks. We do not lock anything as this
    7769         * test need not be precise in either direction.
     70         *
    7871         */
    7972        if (THREAD->udebug.active)
     
    8174#endif
    8275       
    83         sysarg_t rc;
     76        unative_t rc;
    8477        if (id < SYSCALL_END) {
    8578                rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
    8679        } else {
    8780                printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id);
    88                 task_kill_self(true);
     81                task_kill(TASK->taskid);
     82                thread_exit();
    8983        }
    9084       
     
    10498                udebug_stoppable_end();
    10599        }
    106 
    107         /* Clear userspace state pointer */
    108         THREAD->udebug.uspace_state = NULL;
    109100#endif
    110101       
     
    129120        (syshandler_t) sys_task_get_id,
    130121        (syshandler_t) sys_task_set_name,
    131         (syshandler_t) sys_task_kill,
    132         (syshandler_t) sys_task_exit,
    133122        (syshandler_t) sys_program_spawn_loader,
    134123       
     
    156145        (syshandler_t) sys_ipc_poke,
    157146        (syshandler_t) sys_ipc_hangup,
    158         (syshandler_t) sys_ipc_connect_kbox,
     147        (syshandler_t) sys_ipc_register_irq,
     148        (syshandler_t) sys_ipc_unregister_irq,
    159149       
    160150        /* Event notification syscalls. */
     
    169159        (syshandler_t) sys_physmem_map,
    170160        (syshandler_t) sys_iospace_enable,
    171         (syshandler_t) sys_register_irq,
    172         (syshandler_t) sys_unregister_irq,
    173161       
    174162        /* Sysinfo syscalls */
     
    180168        /* Debug calls */
    181169        (syshandler_t) sys_debug_enable_console,
    182         (syshandler_t) sys_debug_disable_console
     170        (syshandler_t) sys_debug_disable_console,
     171       
     172        (syshandler_t) sys_ipc_connect_kbox
    183173};
    184174
Note: See TracChangeset for help on using the changeset viewer.