Changeset 357b5f5 in mainline for kernel/generic/src/syscall/syscall.c


Ignore:
Timestamp:
2011-01-23T20:09:13Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fdb9982c
Parents:
cead2aa (diff), 7e36c8d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

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

    rcead2aa r357b5f5  
    4545#include <debug.h>
    4646#include <ddi/device.h>
     47#include <interrupt.h>
    4748#include <ipc/sysipc.h>
    4849#include <synch/futex.h>
     
    5657
    5758/** Dispatch system call */
    58 unative_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)
     59sysarg_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)
    6061{
    6162        /* Do userpace accounting */
     
    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)
     
    7481#endif
    7582       
    76         unative_t rc;
     83        sysarg_t rc;
    7784        if (id < SYSCALL_END) {
    7885                rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
     
    98105                udebug_stoppable_end();
    99106        }
     107
     108        /* Clear userspace state pointer */
     109        THREAD->udebug.uspace_state = NULL;
    100110#endif
    101111       
     
    120130        (syshandler_t) sys_task_get_id,
    121131        (syshandler_t) sys_task_set_name,
     132        (syshandler_t) sys_task_kill,
    122133        (syshandler_t) sys_program_spawn_loader,
    123134       
     
    147158        (syshandler_t) sys_ipc_register_irq,
    148159        (syshandler_t) sys_ipc_unregister_irq,
     160        (syshandler_t) sys_ipc_connect_kbox,
    149161       
    150162        /* Event notification syscalls. */
     
    159171        (syshandler_t) sys_physmem_map,
    160172        (syshandler_t) sys_iospace_enable,
    161         (syshandler_t) sys_interrupt_enable,
    162173       
    163174        /* Sysinfo syscalls */
     
    169180        /* Debug calls */
    170181        (syshandler_t) sys_debug_enable_console,
    171         (syshandler_t) sys_debug_disable_console,
    172        
    173         (syshandler_t) sys_ipc_connect_kbox
     182        (syshandler_t) sys_debug_disable_console
    174183};
    175184
Note: See TracChangeset for help on using the changeset viewer.