diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-04-19 17:31:52 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-04-19 17:31:52 -0400 |
commit | f70a290e8a889caa905ab7650c696f2bb299be1a (patch) | |
tree | 56f0886d839499e9f522f189999024b3e86f9be2 /arch/x86/include/asm | |
parent | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (diff) | |
parent | 7ef4a793a624c6e66c16ca1051847f75161f5bec (diff) |
Merge branch 'wip-nested-locking' into tegra-nested-lockingwip-nested-locking
Conflicts:
Makefile
include/linux/fs.h
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r-- | arch/x86/include/asm/entry_arch.h | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/feather_trace.h | 17 | ||||
-rw-r--r-- | arch/x86/include/asm/feather_trace_32.h | 115 | ||||
-rw-r--r-- | arch/x86/include/asm/feather_trace_64.h | 124 | ||||
-rw-r--r-- | arch/x86/include/asm/hw_irq.h | 3 | ||||
-rw-r--r-- | arch/x86/include/asm/irq_vectors.h | 7 | ||||
-rw-r--r-- | arch/x86/include/asm/processor.h | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/unistd_32.h | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/unistd_64.h | 4 |
9 files changed, 280 insertions, 1 deletions
diff --git a/arch/x86/include/asm/entry_arch.h b/arch/x86/include/asm/entry_arch.h index 0baa628e330..e2c555f2191 100644 --- a/arch/x86/include/asm/entry_arch.h +++ b/arch/x86/include/asm/entry_arch.h | |||
@@ -13,6 +13,7 @@ | |||
13 | BUILD_INTERRUPT(reschedule_interrupt,RESCHEDULE_VECTOR) | 13 | BUILD_INTERRUPT(reschedule_interrupt,RESCHEDULE_VECTOR) |
14 | BUILD_INTERRUPT(call_function_interrupt,CALL_FUNCTION_VECTOR) | 14 | BUILD_INTERRUPT(call_function_interrupt,CALL_FUNCTION_VECTOR) |
15 | BUILD_INTERRUPT(call_function_single_interrupt,CALL_FUNCTION_SINGLE_VECTOR) | 15 | BUILD_INTERRUPT(call_function_single_interrupt,CALL_FUNCTION_SINGLE_VECTOR) |
16 | BUILD_INTERRUPT(pull_timers_interrupt,PULL_TIMERS_VECTOR) | ||
16 | BUILD_INTERRUPT(irq_move_cleanup_interrupt,IRQ_MOVE_CLEANUP_VECTOR) | 17 | BUILD_INTERRUPT(irq_move_cleanup_interrupt,IRQ_MOVE_CLEANUP_VECTOR) |
17 | BUILD_INTERRUPT(reboot_interrupt,REBOOT_VECTOR) | 18 | BUILD_INTERRUPT(reboot_interrupt,REBOOT_VECTOR) |
18 | 19 | ||
diff --git a/arch/x86/include/asm/feather_trace.h b/arch/x86/include/asm/feather_trace.h new file mode 100644 index 00000000000..4fd31633405 --- /dev/null +++ b/arch/x86/include/asm/feather_trace.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #ifndef _ARCH_FEATHER_TRACE_H | ||
2 | #define _ARCH_FEATHER_TRACE_H | ||
3 | |||
4 | #include <asm/msr.h> | ||
5 | |||
6 | static inline unsigned long long ft_timestamp(void) | ||
7 | { | ||
8 | return __native_read_tsc(); | ||
9 | } | ||
10 | |||
11 | #ifdef CONFIG_X86_32 | ||
12 | #include "feather_trace_32.h" | ||
13 | #else | ||
14 | #include "feather_trace_64.h" | ||
15 | #endif | ||
16 | |||
17 | #endif | ||
diff --git a/arch/x86/include/asm/feather_trace_32.h b/arch/x86/include/asm/feather_trace_32.h new file mode 100644 index 00000000000..75e81a9f938 --- /dev/null +++ b/arch/x86/include/asm/feather_trace_32.h | |||
@@ -0,0 +1,115 @@ | |||
1 | /* Copyright (c) 2007-2012 Björn Brandenburg, <bbb@mpi-sws.org> | ||
2 | * | ||
3 | * Permission is hereby granted, free of charge, to any person obtaining | ||
4 | * a copy of this software and associated documentation files (the | ||
5 | * "Software"), to deal in the Software without restriction, including | ||
6 | * without limitation the rights to use, copy, modify, merge, publish, | ||
7 | * distribute, sublicense, and/or sell copies of the Software, and to | ||
8 | * permit persons to whom the Software is furnished to do so, subject to | ||
9 | * the following conditions: | ||
10 | * | ||
11 | * The above copyright notice and this permission notice shall be | ||
12 | * included in all copies or substantial portions of the Software. | ||
13 | * | ||
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
15 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
17 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
18 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
19 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
21 | * SOFTWARE. | ||
22 | */ | ||
23 | |||
24 | /* Do not directly include this file. Include feather_trace.h instead */ | ||
25 | |||
26 | #define feather_callback __attribute__((regparm(3))) __attribute__((used)) | ||
27 | |||
28 | /* | ||
29 | * Make the compiler reload any register that is not saved in a cdecl function | ||
30 | * call (minus the registers that we explicitly clobber as output registers). | ||
31 | */ | ||
32 | #define __FT_CLOBBER_LIST0 "memory", "cc", "eax", "edx", "ecx" | ||
33 | #define __FT_CLOBBER_LIST1 "memory", "cc", "eax", "ecx" | ||
34 | #define __FT_CLOBBER_LIST2 "memory", "cc", "eax" | ||
35 | #define __FT_CLOBBER_LIST3 "memory", "cc", "eax" | ||
36 | |||
37 | #define __FT_TMP1(x) "=d" (x) | ||
38 | #define __FT_ARG1(x) "0" ((long) (x)) | ||
39 | #define __FT_TMP2(x) "=c" (x) | ||
40 | #define __FT_ARG2(x) "1" ((long) (x)) | ||
41 | |||
42 | #define __FT_ARG3(x) "r" ((long) (x)) | ||
43 | |||
44 | #define ft_event(id, callback) \ | ||
45 | __asm__ __volatile__( \ | ||
46 | "1: jmp 2f \n\t" \ | ||
47 | " call " #callback " \n\t" \ | ||
48 | ".section __event_table, \"aw\" \n\t" \ | ||
49 | ".long " #id ", 0, 1b, 2f \n\t" \ | ||
50 | ".previous \n\t" \ | ||
51 | "2: \n\t" \ | ||
52 | : : : __FT_CLOBBER_LIST0) | ||
53 | |||
54 | #define ft_event0(id, callback) \ | ||
55 | __asm__ __volatile__( \ | ||
56 | "1: jmp 2f \n\t" \ | ||
57 | " movl $" #id ", %%eax \n\t" \ | ||
58 | " call " #callback " \n\t" \ | ||
59 | ".section __event_table, \"aw\" \n\t" \ | ||
60 | ".long " #id ", 0, 1b, 2f \n\t" \ | ||
61 | ".previous \n\t" \ | ||
62 | "2: \n\t" \ | ||
63 | : : : __FT_CLOBBER_LIST0) | ||
64 | |||
65 | #define ft_event1(id, callback, param) \ | ||
66 | do { \ | ||
67 | long __ft_tmp1; \ | ||
68 | __asm__ __volatile__( \ | ||
69 | "1: jmp 2f \n\t" \ | ||
70 | " movl $" #id ", %%eax \n\t" \ | ||
71 | " call " #callback " \n\t" \ | ||
72 | ".section __event_table, \"aw\" \n\t" \ | ||
73 | ".long " #id ", 0, 1b, 2f \n\t" \ | ||
74 | ".previous \n\t" \ | ||
75 | "2: \n\t" \ | ||
76 | : __FT_TMP1(__ft_tmp1) \ | ||
77 | : __FT_ARG1(param) \ | ||
78 | : __FT_CLOBBER_LIST1); \ | ||
79 | } while (0); | ||
80 | |||
81 | #define ft_event2(id, callback, param, param2) \ | ||
82 | do { \ | ||
83 | long __ft_tmp1, __ft_tmp2; \ | ||
84 | __asm__ __volatile__( \ | ||
85 | "1: jmp 2f \n\t" \ | ||
86 | " movl $" #id ", %%eax \n\t" \ | ||
87 | " call " #callback " \n\t" \ | ||
88 | ".section __event_table, \"aw\" \n\t" \ | ||
89 | ".long " #id ", 0, 1b, 2f \n\t" \ | ||
90 | ".previous \n\t" \ | ||
91 | "2: \n\t" \ | ||
92 | : __FT_TMP1(__ft_tmp1), __FT_TMP2(__ft_tmp2) \ | ||
93 | : __FT_ARG1(param), __FT_ARG2(param2) \ | ||
94 | : __FT_CLOBBER_LIST2); \ | ||
95 | } while (0); | ||
96 | |||
97 | |||
98 | #define ft_event3(id, callback, param, param2, param3) \ | ||
99 | do { \ | ||
100 | long __ft_tmp1, __ft_tmp2; \ | ||
101 | __asm__ __volatile__( \ | ||
102 | "1: jmp 2f \n\t" \ | ||
103 | " subl $4, %%esp \n\t" \ | ||
104 | " movl $" #id ", %%eax \n\t" \ | ||
105 | " movl %2, (%%esp) \n\t" \ | ||
106 | " call " #callback " \n\t" \ | ||
107 | " addl $4, %%esp \n\t" \ | ||
108 | ".section __event_table, \"aw\" \n\t" \ | ||
109 | ".long " #id ", 0, 1b, 2f \n\t" \ | ||
110 | ".previous \n\t" \ | ||
111 | "2: \n\t" \ | ||
112 | : __FT_TMP1(__ft_tmp1), __FT_TMP2(__ft_tmp2) \ | ||
113 | : __FT_ARG1(param), __FT_ARG2(param2), __FT_ARG3(param3) \ | ||
114 | : __FT_CLOBBER_LIST3); \ | ||
115 | } while (0); | ||
diff --git a/arch/x86/include/asm/feather_trace_64.h b/arch/x86/include/asm/feather_trace_64.h new file mode 100644 index 00000000000..5ce49e2eebb --- /dev/null +++ b/arch/x86/include/asm/feather_trace_64.h | |||
@@ -0,0 +1,124 @@ | |||
1 | /* Copyright (c) 2010 Andrea Bastoni, <bastoni@cs.unc.edu> | ||
2 | * Copyright (c) 2012 Björn Brandenburg, <bbb@mpi-sws.org> | ||
3 | * | ||
4 | * Permission is hereby granted, free of charge, to any person obtaining | ||
5 | * a copy of this software and associated documentation files (the | ||
6 | * "Software"), to deal in the Software without restriction, including | ||
7 | * without limitation the rights to use, copy, modify, merge, publish, | ||
8 | * distribute, sublicense, and/or sell copies of the Software, and to | ||
9 | * permit persons to whom the Software is furnished to do so, subject to | ||
10 | * the following conditions: | ||
11 | * | ||
12 | * The above copyright notice and this permission notice shall be | ||
13 | * included in all copies or substantial portions of the Software. | ||
14 | * | ||
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
19 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
20 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
21 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
22 | * SOFTWARE. | ||
23 | */ | ||
24 | |||
25 | /* Do not directly include this file. Include feather_trace.h instead */ | ||
26 | |||
27 | /* regparm is the default on x86_64 */ | ||
28 | #define feather_callback __attribute__((used)) | ||
29 | |||
30 | #define __FT_EVENT_TABLE(id,from,to) \ | ||
31 | ".section __event_table, \"aw\"\n\t" \ | ||
32 | ".balign 8\n\t" \ | ||
33 | ".quad " #id ", 0, " #from ", " #to " \n\t" \ | ||
34 | ".previous \n\t" | ||
35 | |||
36 | /* | ||
37 | * x86_64 caller only owns rbp, rbx, r12-r15; | ||
38 | * the callee can freely modify the others. | ||
39 | */ | ||
40 | #define __FT_CLOBBER_LIST0 "memory", "cc", "rdi", "rsi", "rdx", "rcx", \ | ||
41 | "r8", "r9", "r10", "r11", "rax" | ||
42 | |||
43 | #define __FT_CLOBBER_LIST1 "memory", "cc", "rdi", "rdx", "rcx", \ | ||
44 | "r8", "r9", "r10", "r11", "rax" | ||
45 | |||
46 | #define __FT_CLOBBER_LIST2 "memory", "cc", "rdi", "rcx", \ | ||
47 | "r8", "r9", "r10", "r11", "rax" | ||
48 | |||
49 | #define __FT_CLOBBER_LIST3 "memory", "cc", "rdi", \ | ||
50 | "r8", "r9", "r10", "r11", "rax" | ||
51 | |||
52 | /* The registers RDI, RSI, RDX, RCX, R8 and R9 are used for integer and pointer | ||
53 | * arguments. */ | ||
54 | |||
55 | /* RSI */ | ||
56 | #define __FT_TMP1(x) "=S" (x) | ||
57 | #define __FT_ARG1(x) "0" ((long) (x)) | ||
58 | |||
59 | /* RDX */ | ||
60 | #define __FT_TMP2(x) "=d" (x) | ||
61 | #define __FT_ARG2(x) "1" ((long) (x)) | ||
62 | |||
63 | /* RCX */ | ||
64 | #define __FT_TMP3(x) "=c" (x) | ||
65 | #define __FT_ARG3(x) "2" ((long) (x)) | ||
66 | |||
67 | #define ft_event(id, callback) \ | ||
68 | __asm__ __volatile__( \ | ||
69 | "1: jmp 2f \n\t" \ | ||
70 | " call " #callback " \n\t" \ | ||
71 | __FT_EVENT_TABLE(id,1b,2f) \ | ||
72 | "2: \n\t" \ | ||
73 | : : : __FT_CLOBBER_LIST0) | ||
74 | |||
75 | #define ft_event0(id, callback) \ | ||
76 | __asm__ __volatile__( \ | ||
77 | "1: jmp 2f \n\t" \ | ||
78 | " movq $" #id ", %%rdi \n\t" \ | ||
79 | " call " #callback " \n\t" \ | ||
80 | __FT_EVENT_TABLE(id,1b,2f) \ | ||
81 | "2: \n\t" \ | ||
82 | : : : __FT_CLOBBER_LIST0) | ||
83 | |||
84 | #define ft_event1(id, callback, param) \ | ||
85 | do { \ | ||
86 | long __ft_tmp1; \ | ||
87 | __asm__ __volatile__( \ | ||
88 | "1: jmp 2f \n\t" \ | ||
89 | " movq $" #id ", %%rdi \n\t" \ | ||
90 | " call " #callback " \n\t" \ | ||
91 | __FT_EVENT_TABLE(id,1b,2f) \ | ||
92 | "2: \n\t" \ | ||
93 | : __FT_TMP1(__ft_tmp1) \ | ||
94 | : __FT_ARG1(param) \ | ||
95 | : __FT_CLOBBER_LIST1); \ | ||
96 | } while (0); | ||
97 | |||
98 | #define ft_event2(id, callback, param, param2) \ | ||
99 | do { \ | ||
100 | long __ft_tmp1, __ft_tmp2; \ | ||
101 | __asm__ __volatile__( \ | ||
102 | "1: jmp 2f \n\t" \ | ||
103 | " movq $" #id ", %%rdi \n\t" \ | ||
104 | " call " #callback " \n\t" \ | ||
105 | __FT_EVENT_TABLE(id,1b,2f) \ | ||
106 | "2: \n\t" \ | ||
107 | : __FT_TMP1(__ft_tmp1), __FT_TMP2(__ft_tmp2) \ | ||
108 | : __FT_ARG1(param), __FT_ARG2(param2) \ | ||
109 | : __FT_CLOBBER_LIST2); \ | ||
110 | } while (0); | ||
111 | |||
112 | #define ft_event3(id, callback, param, param2, param3) \ | ||
113 | do { \ | ||
114 | long __ft_tmp1, __ft_tmp2, __ft_tmp3; \ | ||
115 | __asm__ __volatile__( \ | ||
116 | "1: jmp 2f \n\t" \ | ||
117 | " movq $" #id ", %%rdi \n\t" \ | ||
118 | " call " #callback " \n\t" \ | ||
119 | __FT_EVENT_TABLE(id,1b,2f) \ | ||
120 | "2: \n\t" \ | ||
121 | : __FT_TMP1(__ft_tmp1), __FT_TMP2(__ft_tmp2), __FT_TMP3(__ft_tmp3) \ | ||
122 | : __FT_ARG1(param), __FT_ARG2(param2), __FT_ARG3(param3) \ | ||
123 | : __FT_CLOBBER_LIST3); \ | ||
124 | } while (0); | ||
diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h index eb92a6ed2be..8f1e5445d37 100644 --- a/arch/x86/include/asm/hw_irq.h +++ b/arch/x86/include/asm/hw_irq.h | |||
@@ -76,6 +76,8 @@ extern void threshold_interrupt(void); | |||
76 | extern void call_function_interrupt(void); | 76 | extern void call_function_interrupt(void); |
77 | extern void call_function_single_interrupt(void); | 77 | extern void call_function_single_interrupt(void); |
78 | 78 | ||
79 | extern void pull_timers_interrupt(void); | ||
80 | |||
79 | /* IOAPIC */ | 81 | /* IOAPIC */ |
80 | #define IO_APIC_IRQ(x) (((x) >= NR_IRQS_LEGACY) || ((1<<(x)) & io_apic_irqs)) | 82 | #define IO_APIC_IRQ(x) (((x) >= NR_IRQS_LEGACY) || ((1<<(x)) & io_apic_irqs)) |
81 | extern unsigned long io_apic_irqs; | 83 | extern unsigned long io_apic_irqs; |
@@ -154,6 +156,7 @@ extern asmlinkage void smp_irq_move_cleanup_interrupt(void); | |||
154 | extern void smp_reschedule_interrupt(struct pt_regs *); | 156 | extern void smp_reschedule_interrupt(struct pt_regs *); |
155 | extern void smp_call_function_interrupt(struct pt_regs *); | 157 | extern void smp_call_function_interrupt(struct pt_regs *); |
156 | extern void smp_call_function_single_interrupt(struct pt_regs *); | 158 | extern void smp_call_function_single_interrupt(struct pt_regs *); |
159 | extern void smp_pull_timers_interrupt(struct pt_regs *); | ||
157 | #ifdef CONFIG_X86_32 | 160 | #ifdef CONFIG_X86_32 |
158 | extern void smp_invalidate_interrupt(struct pt_regs *); | 161 | extern void smp_invalidate_interrupt(struct pt_regs *); |
159 | #else | 162 | #else |
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h index 7e50f06393a..7de6ad70365 100644 --- a/arch/x86/include/asm/irq_vectors.h +++ b/arch/x86/include/asm/irq_vectors.h | |||
@@ -130,6 +130,13 @@ | |||
130 | #define INVALIDATE_TLB_VECTOR_START \ | 130 | #define INVALIDATE_TLB_VECTOR_START \ |
131 | (INVALIDATE_TLB_VECTOR_END-NUM_INVALIDATE_TLB_VECTORS+1) | 131 | (INVALIDATE_TLB_VECTOR_END-NUM_INVALIDATE_TLB_VECTORS+1) |
132 | 132 | ||
133 | /* | ||
134 | * LITMUS^RT pull timers IRQ vector | ||
135 | * Make sure it's below the above max 32 vectors. | ||
136 | */ | ||
137 | #define PULL_TIMERS_VECTOR 0xce | ||
138 | |||
139 | |||
133 | #define NR_VECTORS 256 | 140 | #define NR_VECTORS 256 |
134 | 141 | ||
135 | #define FPU_IRQ 13 | 142 | #define FPU_IRQ 13 |
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 0d1171c9772..7e6a7b66203 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
@@ -166,6 +166,10 @@ extern void print_cpu_info(struct cpuinfo_x86 *); | |||
166 | extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); | 166 | extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); |
167 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); | 167 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); |
168 | extern unsigned short num_cache_leaves; | 168 | extern unsigned short num_cache_leaves; |
169 | #ifdef CONFIG_SYSFS | ||
170 | extern int get_shared_cpu_map(cpumask_var_t mask, | ||
171 | unsigned int cpu, int index); | ||
172 | #endif | ||
169 | 173 | ||
170 | extern void detect_extended_topology(struct cpuinfo_x86 *c); | 174 | extern void detect_extended_topology(struct cpuinfo_x86 *c); |
171 | extern void detect_ht(struct cpuinfo_x86 *c); | 175 | extern void detect_ht(struct cpuinfo_x86 *c); |
diff --git a/arch/x86/include/asm/unistd_32.h b/arch/x86/include/asm/unistd_32.h index 593485b38ab..2f6e127db30 100644 --- a/arch/x86/include/asm/unistd_32.h +++ b/arch/x86/include/asm/unistd_32.h | |||
@@ -353,9 +353,13 @@ | |||
353 | #define __NR_sendmmsg 345 | 353 | #define __NR_sendmmsg 345 |
354 | #define __NR_setns 346 | 354 | #define __NR_setns 346 |
355 | 355 | ||
356 | #define __NR_LITMUS 347 | ||
357 | |||
358 | #include "litmus/unistd_32.h" | ||
359 | |||
356 | #ifdef __KERNEL__ | 360 | #ifdef __KERNEL__ |
357 | 361 | ||
358 | #define NR_syscalls 347 | 362 | #define NR_syscalls 347 + NR_litmus_syscalls |
359 | 363 | ||
360 | #define __ARCH_WANT_IPC_PARSE_VERSION | 364 | #define __ARCH_WANT_IPC_PARSE_VERSION |
361 | #define __ARCH_WANT_OLD_READDIR | 365 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/arch/x86/include/asm/unistd_64.h b/arch/x86/include/asm/unistd_64.h index 20104057344..f6f37d0ca33 100644 --- a/arch/x86/include/asm/unistd_64.h +++ b/arch/x86/include/asm/unistd_64.h | |||
@@ -684,6 +684,10 @@ __SYSCALL(__NR_setns, sys_setns) | |||
684 | #define __NR_getcpu 309 | 684 | #define __NR_getcpu 309 |
685 | __SYSCALL(__NR_getcpu, sys_getcpu) | 685 | __SYSCALL(__NR_getcpu, sys_getcpu) |
686 | 686 | ||
687 | #define __NR_LITMUS 309 | ||
688 | |||
689 | #include "litmus/unistd_64.h" | ||
690 | |||
687 | #ifndef __NO_STUBS | 691 | #ifndef __NO_STUBS |
688 | #define __ARCH_WANT_OLD_READDIR | 692 | #define __ARCH_WANT_OLD_READDIR |
689 | #define __ARCH_WANT_OLD_STAT | 693 | #define __ARCH_WANT_OLD_STAT |