aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86_64')
-rw-r--r--include/asm-x86_64/nmi.h7
-rw-r--r--include/asm-x86_64/semaphore.h4
-rw-r--r--include/asm-x86_64/uaccess.h7
3 files changed, 15 insertions, 3 deletions
diff --git a/include/asm-x86_64/nmi.h b/include/asm-x86_64/nmi.h
index cbf2669bca71..f367d4014b42 100644
--- a/include/asm-x86_64/nmi.h
+++ b/include/asm-x86_64/nmi.h
@@ -70,4 +70,11 @@ extern unsigned int nmi_watchdog;
70#define NMI_LOCAL_APIC 2 70#define NMI_LOCAL_APIC 2
71#define NMI_INVALID 3 71#define NMI_INVALID 3
72 72
73struct ctl_table;
74struct file;
75extern int proc_nmi_enabled(struct ctl_table *, int , struct file *,
76 void __user *, size_t *, loff_t *);
77
78extern int unknown_nmi_panic;
79
73#endif /* ASM_NMI_H */ 80#endif /* ASM_NMI_H */
diff --git a/include/asm-x86_64/semaphore.h b/include/asm-x86_64/semaphore.h
index 107bd90429e8..1194888536b9 100644
--- a/include/asm-x86_64/semaphore.h
+++ b/include/asm-x86_64/semaphore.h
@@ -132,7 +132,7 @@ static inline int down_interruptible(struct semaphore * sem)
132 "jns 2f\n\t" 132 "jns 2f\n\t"
133 "call __down_failed_interruptible\n" 133 "call __down_failed_interruptible\n"
134 "2:\n" 134 "2:\n"
135 :"=a" (result), "=m" (sem->count) 135 :"=&a" (result), "=m" (sem->count)
136 :"D" (sem) 136 :"D" (sem)
137 :"memory"); 137 :"memory");
138 return result; 138 return result;
@@ -153,7 +153,7 @@ static inline int down_trylock(struct semaphore * sem)
153 "jns 2f\n\t" 153 "jns 2f\n\t"
154 "call __down_failed_trylock\n\t" 154 "call __down_failed_trylock\n\t"
155 "2:\n" 155 "2:\n"
156 :"=a" (result), "=m" (sem->count) 156 :"=&a" (result), "=m" (sem->count)
157 :"D" (sem) 157 :"D" (sem)
158 :"memory","cc"); 158 :"memory","cc");
159 return result; 159 return result;
diff --git a/include/asm-x86_64/uaccess.h b/include/asm-x86_64/uaccess.h
index e856570c0689..19f99178fe83 100644
--- a/include/asm-x86_64/uaccess.h
+++ b/include/asm-x86_64/uaccess.h
@@ -361,6 +361,11 @@ __must_check unsigned long clear_user(void __user *mem, unsigned long len);
361__must_check unsigned long __clear_user(void __user *mem, unsigned long len); 361__must_check unsigned long __clear_user(void __user *mem, unsigned long len);
362 362
363__must_check long __copy_from_user_inatomic(void *dst, const void __user *src, unsigned size); 363__must_check long __copy_from_user_inatomic(void *dst, const void __user *src, unsigned size);
364#define __copy_to_user_inatomic copy_user_generic 364
365static __must_check __always_inline int
366__copy_to_user_inatomic(void __user *dst, const void *src, unsigned size)
367{
368 return copy_user_generic((__force void *)dst, src, size);
369}
365 370
366#endif /* __X86_64_UACCESS_H */ 371#endif /* __X86_64_UACCESS_H */