Subversion Repositories HelenOS

Rev

Rev 3438 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3438 Rev 3453
1
/*
1
/*
2
 * Copyright (c) 2008 Jiri Svoboda
2
 * Copyright (c) 2008 Jiri Svoboda
3
 * All rights reserved.
3
 * All rights reserved.
4
 *
4
 *
5
 * Redistribution and use in source and binary forms, with or without
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
6
 * modification, are permitted provided that the following conditions
7
 * are met:
7
 * are met:
8
 *
8
 *
9
 * - Redistributions of source code must retain the above copyright
9
 * - Redistributions of source code must retain the above copyright
10
 *   notice, this list of conditions and the following disclaimer.
10
 *   notice, this list of conditions and the following disclaimer.
11
 * - Redistributions in binary form must reproduce the above copyright
11
 * - Redistributions in binary form must reproduce the above copyright
12
 *   notice, this list of conditions and the following disclaimer in the
12
 *   notice, this list of conditions and the following disclaimer in the
13
 *   documentation and/or other materials provided with the distribution.
13
 *   documentation and/or other materials provided with the distribution.
14
 * - The name of the author may not be used to endorse or promote products
14
 * - The name of the author may not be used to endorse or promote products
15
 *   derived from this software without specific prior written permission.
15
 *   derived from this software without specific prior written permission.
16
 *
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
 
28
 
29
/** @addtogroup trace
29
/** @addtogroup trace
30
 * @{
30
 * @{
31
 */
31
 */
32
/** @file
32
/** @file
33
 */
33
 */
34
 
34
 
35
#include <kernel/syscall/syscall.h>
35
#include <kernel/syscall/syscall.h>
36
#include "syscalls.h"
36
#include "syscalls.h"
-
 
37
#include "trace.h"
37
 
38
 
38
const sc_desc_t syscall_desc[] = {
39
const sc_desc_t syscall_desc[] = {
39
    [SYS_KLOG] ={ "klog",               3,  RV_INT_ERRNO },
40
    [SYS_KLOG] ={ "klog",               3,  V_INT_ERRNO },
40
    [SYS_TLS_SET] = { "tls_set",            1,  RV_ERRNO },
41
    [SYS_TLS_SET] = { "tls_set",            1,  V_ERRNO },
41
    [SYS_THREAD_CREATE] = { "thread_create",        3,  RV_ERRNO },
42
    [SYS_THREAD_CREATE] = { "thread_create",        3,  V_ERRNO },
42
    [SYS_THREAD_EXIT] = { "thread_exit",        1,  RV_ERRNO },
43
    [SYS_THREAD_EXIT] = { "thread_exit",        1,  V_ERRNO },
43
    [SYS_THREAD_GET_ID] = { "thread_get_id",        1,  RV_ERRNO },
44
    [SYS_THREAD_GET_ID] = { "thread_get_id",        1,  V_ERRNO },
44
 
45
 
45
    [SYS_TASK_GET_ID] = { "task_get_id",        1,  RV_ERRNO },
46
    [SYS_TASK_GET_ID] = { "task_get_id",        1,  V_ERRNO },
46
    [SYS_FUTEX_SLEEP] = { "futex_sleep_timeout",    3,  RV_ERRNO },
47
    [SYS_FUTEX_SLEEP] = { "futex_sleep_timeout",    3,  V_ERRNO },
47
    [SYS_FUTEX_WAKEUP] = { "futex_wakeup",      1,  RV_ERRNO },
48
    [SYS_FUTEX_WAKEUP] = { "futex_wakeup",      1,  V_ERRNO },
48
 
49
 
49
    [SYS_AS_AREA_CREATE] = { "as_area_create",      3,  RV_ERRNO },
50
    [SYS_AS_AREA_CREATE] = { "as_area_create",      3,  V_ERRNO },
50
    [SYS_AS_AREA_RESIZE] = { "as_area_resize",      3,  RV_ERRNO },
51
    [SYS_AS_AREA_RESIZE] = { "as_area_resize",      3,  V_ERRNO },
51
    [SYS_AS_AREA_DESTROY] = { "as_area_destroy",    1,  RV_ERRNO },
52
    [SYS_AS_AREA_DESTROY] = { "as_area_destroy",    1,  V_ERRNO },
52
 
53
 
53
    [SYS_IPC_CALL_SYNC_FAST] = { "ipc_call_sync_fast",  6,  RV_ERRNO },
54
    [SYS_IPC_CALL_SYNC_FAST] = { "ipc_call_sync_fast",  6,  V_ERRNO },
54
    [SYS_IPC_CALL_SYNC_SLOW] = { "ipc_call_sync_slow",  3,  RV_ERRNO },
55
    [SYS_IPC_CALL_SYNC_SLOW] = { "ipc_call_sync_slow",  3,  V_ERRNO },
55
    [SYS_IPC_CALL_ASYNC_FAST] = { "ipc_call_async_fast", 6, RV_HASH },
56
    [SYS_IPC_CALL_ASYNC_FAST] = { "ipc_call_async_fast", 6, V_HASH },
56
    [SYS_IPC_CALL_ASYNC_SLOW] = { "ipc_call_async_slow", 2, RV_HASH },
57
    [SYS_IPC_CALL_ASYNC_SLOW] = { "ipc_call_async_slow", 2, V_HASH },
57
 
58
 
58
    [SYS_IPC_ANSWER_FAST] = { "ipc_answer_fast",    6,  RV_ERRNO },
59
    [SYS_IPC_ANSWER_FAST] = { "ipc_answer_fast",    6,  V_ERRNO },
59
    [SYS_IPC_ANSWER_SLOW] = { "ipc_answer_slow",    2,  RV_ERRNO },
60
    [SYS_IPC_ANSWER_SLOW] = { "ipc_answer_slow",    2,  V_ERRNO },
60
    [SYS_IPC_FORWARD_FAST] = { "ipc_forward_fast",  6,  RV_ERRNO },
61
    [SYS_IPC_FORWARD_FAST] = { "ipc_forward_fast",  6,  V_ERRNO },
61
    [SYS_IPC_WAIT] = { "ipc_wait_for_call",     3,  RV_HASH },
62
    [SYS_IPC_WAIT] = { "ipc_wait_for_call",     3,  V_HASH },
62
    [SYS_IPC_HANGUP] = { "ipc_hangup",          1,  RV_ERRNO },
63
    [SYS_IPC_HANGUP] = { "ipc_hangup",          1,  V_ERRNO },
63
    [SYS_IPC_REGISTER_IRQ] = { "ipc_register_irq",  4,  RV_ERRNO },
64
    [SYS_IPC_REGISTER_IRQ] = { "ipc_register_irq",  4,  V_ERRNO },
64
    [SYS_IPC_UNREGISTER_IRQ] = { "ipc_unregister_irq",  2,  RV_ERRNO },
65
    [SYS_IPC_UNREGISTER_IRQ] = { "ipc_unregister_irq",  2,  V_ERRNO },
65
 
66
 
66
    [SYS_CAP_GRANT] = { "cap_grant",            2,  RV_ERRNO },
67
    [SYS_CAP_GRANT] = { "cap_grant",            2,  V_ERRNO },
67
    [SYS_CAP_REVOKE] = { "cap_revoke",          2,  RV_ERRNO },
68
    [SYS_CAP_REVOKE] = { "cap_revoke",          2,  V_ERRNO },
68
    [SYS_PHYSMEM_MAP] = { "physmem_map",        4,  RV_ERRNO },
69
    [SYS_PHYSMEM_MAP] = { "physmem_map",        4,  V_ERRNO },
69
    [SYS_IOSPACE_ENABLE] = { "iospace_enable",      1,  RV_ERRNO },
70
    [SYS_IOSPACE_ENABLE] = { "iospace_enable",      1,  V_ERRNO },
70
    [SYS_PREEMPT_CONTROL] = { "preempt_control",    1,  RV_ERRNO },
71
    [SYS_PREEMPT_CONTROL] = { "preempt_control",    1,  V_ERRNO },
71
 
72
 
72
    [SYS_SYSINFO_VALID] = { "sysinfo_valid",        2,  RV_HASH },
73
    [SYS_SYSINFO_VALID] = { "sysinfo_valid",        2,  V_HASH },
73
    [SYS_SYSINFO_VALUE] = { "sysinfo_value",        2,  RV_HASH },
74
    [SYS_SYSINFO_VALUE] = { "sysinfo_value",        2,  V_HASH },
74
    [SYS_DEBUG_ENABLE_CONSOLE] = { "debug_enable_console", 0,   RV_ERRNO },
75
    [SYS_DEBUG_ENABLE_CONSOLE] = { "debug_enable_console", 0,   V_ERRNO },
75
    [SYS_IPC_CONNECT_KBOX] = { "ipc_connect_kbox",  1,  RV_ERRNO }
76
    [SYS_IPC_CONNECT_KBOX] = { "ipc_connect_kbox",  1,  V_ERRNO }
76
};
77
};
77
 
78
 
78
/** @}
79
/** @}
79
 */
80
 */
80
 
81