diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-30 11:37:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-30 11:37:55 -0400 |
commit | 369aa8395a5dcc89230f1de5459124c4b0db9fca (patch) | |
tree | d95edf4c52e343e2080427ad153da051ea52eee6 /include | |
parent | bf603625660b1742004bf86432ce3c210d14d4fd (diff) | |
parent | c84ef5305930d19bdd6cd576b3a3a73786a82e57 (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.h | 6 | ||||
-rw-r--r-- | include/asm-x86_64/nmi.h | 7 | ||||
-rw-r--r-- | include/asm-x86_64/semaphore.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/uaccess.h | 7 | ||||
-rw-r--r-- | include/linux/getcpu.h | 12 |
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 | ||
39 | struct ctl_table; | ||
40 | struct file; | ||
41 | extern int proc_nmi_enabled(struct ctl_table *, int , struct file *, | ||
42 | void __user *, size_t *, loff_t *); | ||
43 | extern 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 | ||
73 | struct ctl_table; | ||
74 | struct file; | ||
75 | extern int proc_nmi_enabled(struct ctl_table *, int , struct file *, | ||
76 | void __user *, size_t *, loff_t *); | ||
77 | |||
78 | extern 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 | |
365 | static __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. */ |
10 | struct getcpu_cache { | 14 | struct 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 |