diff options
Diffstat (limited to 'arch/mips/kernel/ioctl32.c')
-rw-r--r-- | arch/mips/kernel/ioctl32.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/arch/mips/kernel/ioctl32.c b/arch/mips/kernel/ioctl32.c new file mode 100644 index 000000000000..519cd5d0aebb --- /dev/null +++ b/arch/mips/kernel/ioctl32.c | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * ioctl32.c: Conversion between 32bit and 64bit native ioctls. | ||
3 | * | ||
4 | * Copyright (C) 2000 Silicon Graphics, Inc. | ||
5 | * Written by Ulf Carlsson (ulfc@engr.sgi.com) | ||
6 | * Copyright (C) 2000, 2004 Ralf Baechle | ||
7 | * Copyright (C) 2002, 2003 Maciej W. Rozycki | ||
8 | */ | ||
9 | #define INCLUDES | ||
10 | #include "compat_ioctl.c" | ||
11 | |||
12 | #include <linux/config.h> | ||
13 | #include <linux/types.h> | ||
14 | #include <linux/compat.h> | ||
15 | #include <linux/ioctl32.h> | ||
16 | #include <linux/syscalls.h> | ||
17 | |||
18 | #ifdef CONFIG_SIBYTE_TBPROF | ||
19 | #include <asm/sibyte/trace_prof.h> | ||
20 | #endif | ||
21 | |||
22 | #define A(__x) ((unsigned long)(__x)) | ||
23 | |||
24 | long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg); | ||
25 | |||
26 | #define CODE | ||
27 | #include "compat_ioctl.c" | ||
28 | |||
29 | typedef int (* ioctl32_handler_t)(unsigned int, unsigned int, unsigned long, struct file *); | ||
30 | |||
31 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL((cmd),sys_ioctl) | ||
32 | #define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl32_handler_t)(handler), NULL }, | ||
33 | #define IOCTL_TABLE_START \ | ||
34 | struct ioctl_trans ioctl_start[] = { | ||
35 | #define IOCTL_TABLE_END \ | ||
36 | }; | ||
37 | |||
38 | IOCTL_TABLE_START | ||
39 | |||
40 | #include <linux/compat_ioctl.h> | ||
41 | #define DECLARES | ||
42 | #include "compat_ioctl.c" | ||
43 | |||
44 | #ifdef CONFIG_SIBYTE_TBPROF | ||
45 | COMPATIBLE_IOCTL(SBPROF_ZBSTART) | ||
46 | COMPATIBLE_IOCTL(SBPROF_ZBSTOP) | ||
47 | COMPATIBLE_IOCTL(SBPROF_ZBWAITFULL) | ||
48 | #endif /* CONFIG_SIBYTE_TBPROF */ | ||
49 | |||
50 | /*HANDLE_IOCTL(RTC_IRQP_READ, w_long) | ||
51 | COMPATIBLE_IOCTL(RTC_IRQP_SET) | ||
52 | HANDLE_IOCTL(RTC_EPOCH_READ, w_long) | ||
53 | COMPATIBLE_IOCTL(RTC_EPOCH_SET) | ||
54 | */ | ||
55 | |||
56 | IOCTL_TABLE_END | ||
57 | |||
58 | int ioctl_table_size = ARRAY_SIZE(ioctl_start); | ||