aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-09-30 11:37:55 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-30 11:37:55 -0400
commit369aa8395a5dcc89230f1de5459124c4b0db9fca (patch)
treed95edf4c52e343e2080427ad153da051ea52eee6 /include
parentbf603625660b1742004bf86432ce3c210d14d4fd (diff)
parentc84ef5305930d19bdd6cd576b3a3a73786a82e57 (diff)
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] Use early clobber in semaphores [PATCH] Define vsyscall cache as blob to make clearer that user space shouldn't use it [PATCH] Re-positioning the bss segment [PATCH] Use ARRAY_SIZE in setup.c [PATCH] i386: replace intermediate array-size definitions with ARRAY_SIZE() [PATCH] x86: Clean up x86 NMI sysctls [PATCH] Refactor some duplicated code in mpparse.c [PATCH] Document iommu=panic [PATCH] Fix broken indentation in iommu_setup [PATCH] Allow disabling DAC using command line options [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic [PATCH] i386: Update defconfig [PATCH] Update defconfig
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/nmi.h6
-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
-rw-r--r--include/linux/getcpu.h12
5 files changed, 28 insertions, 8 deletions
diff --git a/include/asm-i386/nmi.h b/include/asm-i386/nmi.h
index 303bcd4592bb..269d315719ca 100644
--- a/include/asm-i386/nmi.h
+++ b/include/asm-i386/nmi.h
@@ -36,4 +36,10 @@ extern unsigned int nmi_watchdog;
36#define NMI_LOCAL_APIC 2 36#define NMI_LOCAL_APIC 2
37#define NMI_INVALID 3 37#define NMI_INVALID 3
38 38
39struct ctl_table;
40struct file;
41extern int proc_nmi_enabled(struct ctl_table *, int , struct file *,
42 void __user *, size_t *, loff_t *);
43extern int unknown_nmi_panic;
44
39#endif /* ASM_NMI_H */ 45#endif /* ASM_NMI_H */
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 */
diff --git a/include/linux/getcpu.h b/include/linux/getcpu.h
index 031ed3780e45..c7372d7a97be 100644
--- a/include/linux/getcpu.h
+++ b/include/linux/getcpu.h
@@ -1,16 +1,18 @@
1#ifndef _LINUX_GETCPU_H 1#ifndef _LINUX_GETCPU_H
2#define _LINUX_GETCPU_H 1 2#define _LINUX_GETCPU_H 1
3 3
4/* Cache for getcpu() to speed it up. Results might be upto a jiffie 4/* Cache for getcpu() to speed it up. Results might be a short time
5 out of date, but will be faster. 5 out of date, but will be faster.
6
6 User programs should not refer to the contents of this structure. 7 User programs should not refer to the contents of this structure.
7 It is only a cache for vgetcpu(). It might change in future kernels. 8 I repeat they should not refer to it. If they do they will break
9 in future kernels.
10
11 It is only a private cache for vgetcpu(). It will change in future kernels.
8 The user program must store this information per thread (__thread) 12 The user program must store this information per thread (__thread)
9 If you want 100% accurate information pass NULL instead. */ 13 If you want 100% accurate information pass NULL instead. */
10struct getcpu_cache { 14struct getcpu_cache {
11 unsigned long t0; 15 unsigned long blob[128 / sizeof(long)];
12 unsigned long t1;
13 unsigned long res[4];
14}; 16};
15 17
16#endif 18#endif