Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
um
sys_call_table_32.c
Go to the documentation of this file.
1
/*
2
* System call table for UML/i386, copied from arch/x86/kernel/syscall_*.c
3
* with some changes for UML.
4
*/
5
6
#include <linux/linkage.h>
7
#include <
linux/sys.h
>
8
#include <
linux/cache.h
>
9
#include <generated/user_constants.h>
10
11
#define __NO_STUBS
12
13
/*
14
* Below you can see, in terms of #define's, the differences between the x86-64
15
* and the UML syscall table.
16
*/
17
18
/* Not going to be implemented by UML, since we have no hardware. */
19
#define sys_iopl sys_ni_syscall
20
#define sys_ioperm sys_ni_syscall
21
22
#define sys_vm86old sys_ni_syscall
23
#define sys_vm86 sys_ni_syscall
24
25
#define old_mmap sys_old_mmap
26
27
#define ptregs_fork sys_fork
28
#define ptregs_iopl sys_iopl
29
#define ptregs_vm86old sys_vm86old
30
#define ptregs_clone i386_clone
31
#define ptregs_vm86 sys_vm86
32
#define ptregs_sigaltstack sys_sigaltstack
33
#define ptregs_vfork sys_vfork
34
35
#define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void sym(void) ;
36
#include <
asm/syscalls_32.h
>
37
38
#undef __SYSCALL_I386
39
#define __SYSCALL_I386(nr, sym, compat) [ nr ] = sym,
40
41
typedef
asmlinkage
void
(*
sys_call_ptr_t
)(
void
);
42
43
extern
asmlinkage
void
sys_ni_syscall
(
void
);
44
45
const
sys_call_ptr_t
sys_call_table
[]
__cacheline_aligned
= {
46
/*
47
* Smells like a compiler bug -- it doesn't work
48
* when the & below is removed.
49
*/
50
[0 ... __NR_syscall_max] = &
sys_ni_syscall
,
51
#include <
asm/syscalls_32.h
>
52
};
53
54
int
syscall_table_size
=
sizeof
(
sys_call_table
);
Generated on Thu Jan 10 2013 13:21:52 for Linux Kernel by
1.8.2