Ignore:
File:
1 edited

Legend:

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

    r6b10dab r5bcf1f9  
    4545#include <debug.h>
    4646#include <ddi/device.h>
     47#include <interrupt.h>
    4748#include <ipc/sysipc.h>
    4849#include <synch/futex.h>
     
    6667#ifdef CONFIG_UDEBUG
    6768        /*
     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        /*
    6876         * Early check for undebugged tasks. We do not lock anything as this
    6977         * test need not be precise in either direction.
    70          *
    7178         */
    7279        if (THREAD->udebug.active)
     
    7986        } else {
    8087                printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id);
    81                 task_kill(TASK->taskid);
    82                 thread_exit();
     88                task_kill_self(true);
    8389        }
    8490       
     
    98104                udebug_stoppable_end();
    99105        }
     106
     107        /* Clear userspace state pointer */
     108        THREAD->udebug.uspace_state = NULL;
    100109#endif
    101110       
     
    120129        (syshandler_t) sys_task_get_id,
    121130        (syshandler_t) sys_task_set_name,
     131        (syshandler_t) sys_task_kill,
     132        (syshandler_t) sys_task_exit,
    122133        (syshandler_t) sys_program_spawn_loader,
    123134       
     
    145156        (syshandler_t) sys_ipc_poke,
    146157        (syshandler_t) sys_ipc_hangup,
    147         (syshandler_t) sys_ipc_register_irq,
    148         (syshandler_t) sys_ipc_unregister_irq,
    149158        (syshandler_t) sys_ipc_connect_kbox,
    150159       
     
    160169        (syshandler_t) sys_physmem_map,
    161170        (syshandler_t) sys_iospace_enable,
    162         (syshandler_t) sys_interrupt_enable,
     171        (syshandler_t) sys_register_irq,
     172        (syshandler_t) sys_unregister_irq,
    163173       
    164174        /* Sysinfo syscalls */
Note: See TracChangeset for help on using the changeset viewer.