xref: /haiku/src/system/kernel/arch/x86/syscalls_compat.cpp (revision bdd7dae89c36aa55ab8eeaff6b442d0c4406664b)
1 /*
2  * Copyright 2018, Jérôme Duval, jerome.duval@gmail.com.
3  * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
4  * Copyright 2004-2010, Haiku Inc. All rights reserved.
5  * Distributed under the terms of the MIT License.
6  */
7 
8 
9 /*!	Big case statement for dispatching syscalls, as well as the generic
10 	syscall interface.
11 */
12 
13 
14 #include <syscalls.h>
15 
16 #include <arch_config.h>
17 #include <arch/system_info.h>
18 #include <cpu.h>
19 #include <debug.h>
20 #include <disk_device_manager/ddm_userland_interface.h>
21 #include <elf.h>
22 #include <frame_buffer_console.h>
23 #include <fs/fd.h>
24 #include <fs/node_monitor.h>
25 #include <generic_syscall.h>
26 #include <int.h>
27 #include <kernel.h>
28 #include <kimage.h>
29 #include <ksignal.h>
30 #include <ksyscalls.h>
31 #include <ksystem_info.h>
32 #include <messaging.h>
33 #include <port.h>
34 #include <posix/realtime_sem.h>
35 #include <posix/xsi_message_queue.h>
36 #include <posix/xsi_semaphore.h>
37 #include <real_time_clock.h>
38 #include <safemode.h>
39 #include <sem.h>
40 #include <sys/resource.h>
41 #include <system_profiler.h>
42 #include <thread.h>
43 #include <tracing.h>
44 #include <user_atomic.h>
45 #include <user_mutex.h>
46 #include <usergroup.h>
47 #include <UserTimer.h>
48 #include <util/AutoLock.h>
49 #include <vfs.h>
50 #include <vm/vm.h>
51 #include <wait_for_objects.h>
52 
53 
54 status_t _user_generic_syscall(const char* userSubsystem, uint32 function,
55 	void* buffer, size_t bufferSize);
56 int _user_is_computer_on(void);
57 
58 
59 #include "syscall_numbers.h"
60 
61 #define kSyscallCount kSyscallCompatCount
62 #define kSyscallInfos kSyscallCompatInfos
63 #define kExtendedSyscallInfos kExtendedSyscallCompatInfos
64 
65 extern const int kSyscallCount;
66 extern const syscall_info kSyscallInfos[];
67 extern const extended_syscall_info kExtendedSyscallInfos[];
68 
69 /*
70  * kSyscallCount and kSyscallInfos here
71  */
72 // generated by gensyscalls
73 #include "syscall_table.h"
74