diff options
author | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-03-14 15:18:01 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-03-14 15:18:01 -0500 |
commit | f33b5d783b4f56be5ace6a1c98fb5f76b2d2d07d (patch) | |
tree | b027b5f3429d416b3da5b9195024007dab062a5e /include | |
parent | e935d5da8e5d12fabe5b632736c50eae0427e8c8 (diff) | |
parent | 67963132638e67ad3c5aa16765e6f3f2f3cdd85c (diff) |
Merge ../linux-2.6
Diffstat (limited to 'include')
39 files changed, 165 insertions, 60 deletions
diff --git a/include/asm-arm/fpstate.h b/include/asm-arm/fpstate.h index f7430e3aa55d..6246bf83627d 100644 --- a/include/asm-arm/fpstate.h +++ b/include/asm-arm/fpstate.h | |||
@@ -55,8 +55,10 @@ struct fp_soft_struct { | |||
55 | unsigned int save[FP_SOFT_SIZE]; /* undefined information */ | 55 | unsigned int save[FP_SOFT_SIZE]; /* undefined information */ |
56 | }; | 56 | }; |
57 | 57 | ||
58 | #define IWMMXT_SIZE 0x98 | ||
59 | |||
58 | struct iwmmxt_struct { | 60 | struct iwmmxt_struct { |
59 | unsigned int save[0x98/sizeof(int) + 1]; | 61 | unsigned int save[IWMMXT_SIZE / sizeof(unsigned int)]; |
60 | }; | 62 | }; |
61 | 63 | ||
62 | union fp_state { | 64 | union fp_state { |
diff --git a/include/asm-arm/thread_info.h b/include/asm-arm/thread_info.h index 33a33cbb6329..cfbccb63c67b 100644 --- a/include/asm-arm/thread_info.h +++ b/include/asm-arm/thread_info.h | |||
@@ -59,7 +59,7 @@ struct thread_info { | |||
59 | struct cpu_context_save cpu_context; /* cpu context */ | 59 | struct cpu_context_save cpu_context; /* cpu context */ |
60 | __u8 used_cp[16]; /* thread used copro */ | 60 | __u8 used_cp[16]; /* thread used copro */ |
61 | unsigned long tp_value; | 61 | unsigned long tp_value; |
62 | union fp_state fpstate; | 62 | union fp_state fpstate __attribute__((aligned(8))); |
63 | union vfp_state vfpstate; | 63 | union vfp_state vfpstate; |
64 | struct restart_block restart_block; | 64 | struct restart_block restart_block; |
65 | }; | 65 | }; |
diff --git a/include/asm-arm/tlbflush.h b/include/asm-arm/tlbflush.h index 9387a5e1ffe0..0c2acc944a0a 100644 --- a/include/asm-arm/tlbflush.h +++ b/include/asm-arm/tlbflush.h | |||
@@ -340,6 +340,12 @@ static inline void local_flush_tlb_kernel_page(unsigned long kaddr) | |||
340 | asm("mcr%? p15, 0, %0, c8, c6, 1" : : "r" (kaddr)); | 340 | asm("mcr%? p15, 0, %0, c8, c6, 1" : : "r" (kaddr)); |
341 | if (tlb_flag(TLB_V6_I_PAGE)) | 341 | if (tlb_flag(TLB_V6_I_PAGE)) |
342 | asm("mcr%? p15, 0, %0, c8, c5, 1" : : "r" (kaddr)); | 342 | asm("mcr%? p15, 0, %0, c8, c5, 1" : : "r" (kaddr)); |
343 | |||
344 | /* The ARM ARM states that the completion of a TLB maintenance | ||
345 | * operation is only guaranteed by a DSB instruction | ||
346 | */ | ||
347 | if (tlb_flag(TLB_V6_U_PAGE | TLB_V6_D_PAGE | TLB_V6_I_PAGE)) | ||
348 | asm("mcr%? p15, 0, %0, c7, c10, 4" : : "r" (zero)); | ||
343 | } | 349 | } |
344 | 350 | ||
345 | /* | 351 | /* |
diff --git a/include/asm-generic/unaligned.h b/include/asm-generic/unaligned.h index 4dc8ddb401c1..09ec447fe2af 100644 --- a/include/asm-generic/unaligned.h +++ b/include/asm-generic/unaligned.h | |||
@@ -78,7 +78,7 @@ static inline void __ustw(__u16 val, __u16 *addr) | |||
78 | 78 | ||
79 | #define __get_unaligned(ptr, size) ({ \ | 79 | #define __get_unaligned(ptr, size) ({ \ |
80 | const void *__gu_p = ptr; \ | 80 | const void *__gu_p = ptr; \ |
81 | __typeof__(*(ptr)) val; \ | 81 | __u64 val; \ |
82 | switch (size) { \ | 82 | switch (size) { \ |
83 | case 1: \ | 83 | case 1: \ |
84 | val = *(const __u8 *)__gu_p; \ | 84 | val = *(const __u8 *)__gu_p; \ |
@@ -95,7 +95,7 @@ static inline void __ustw(__u16 val, __u16 *addr) | |||
95 | default: \ | 95 | default: \ |
96 | bad_unaligned_access_length(); \ | 96 | bad_unaligned_access_length(); \ |
97 | }; \ | 97 | }; \ |
98 | val; \ | 98 | (__typeof__(*(ptr)))val; \ |
99 | }) | 99 | }) |
100 | 100 | ||
101 | #define __put_unaligned(val, ptr, size) \ | 101 | #define __put_unaligned(val, ptr, size) \ |
diff --git a/include/asm-i386/apic.h b/include/asm-i386/apic.h index d30b8571573f..ff9ac8d19eb2 100644 --- a/include/asm-i386/apic.h +++ b/include/asm-i386/apic.h | |||
@@ -137,6 +137,8 @@ void switch_APIC_timer_to_ipi(void *cpumask); | |||
137 | void switch_ipi_to_APIC_timer(void *cpumask); | 137 | void switch_ipi_to_APIC_timer(void *cpumask); |
138 | #define ARCH_APICTIMER_STOPS_ON_C3 1 | 138 | #define ARCH_APICTIMER_STOPS_ON_C3 1 |
139 | 139 | ||
140 | extern int timer_over_8254; | ||
141 | |||
140 | #else /* !CONFIG_X86_LOCAL_APIC */ | 142 | #else /* !CONFIG_X86_LOCAL_APIC */ |
141 | static inline void lapic_shutdown(void) { } | 143 | static inline void lapic_shutdown(void) { } |
142 | 144 | ||
diff --git a/include/asm-ia64/sn/arch.h b/include/asm-ia64/sn/arch.h index 91c31be87b13..16adc93d7a72 100644 --- a/include/asm-ia64/sn/arch.h +++ b/include/asm-ia64/sn/arch.h | |||
@@ -31,7 +31,8 @@ | |||
31 | * to ACPI3.0, this limit will be removed. The notion of "compact nodes" | 31 | * to ACPI3.0, this limit will be removed. The notion of "compact nodes" |
32 | * should be deleted and TIOs should be included in MAX_NUMNODES. | 32 | * should be deleted and TIOs should be included in MAX_NUMNODES. |
33 | */ | 33 | */ |
34 | #define MAX_COMPACT_NODES 512 | 34 | #define MAX_TIO_NODES MAX_NUMNODES |
35 | #define MAX_COMPACT_NODES (MAX_NUMNODES + MAX_TIO_NODES) | ||
35 | 36 | ||
36 | /* | 37 | /* |
37 | * Maximum number of nodes in all partitions and in all coherency domains. | 38 | * Maximum number of nodes in all partitions and in all coherency domains. |
diff --git a/include/asm-m68k/atomic.h b/include/asm-m68k/atomic.h index a4a84d5c65d5..862e497c2645 100644 --- a/include/asm-m68k/atomic.h +++ b/include/asm-m68k/atomic.h | |||
@@ -55,6 +55,7 @@ static inline int atomic_inc_and_test(atomic_t *v) | |||
55 | } | 55 | } |
56 | 56 | ||
57 | #ifdef CONFIG_RMW_INSNS | 57 | #ifdef CONFIG_RMW_INSNS |
58 | |||
58 | static inline int atomic_add_return(int i, atomic_t *v) | 59 | static inline int atomic_add_return(int i, atomic_t *v) |
59 | { | 60 | { |
60 | int t, tmp; | 61 | int t, tmp; |
@@ -82,7 +83,12 @@ static inline int atomic_sub_return(int i, atomic_t *v) | |||
82 | : "g" (i), "2" (atomic_read(v))); | 83 | : "g" (i), "2" (atomic_read(v))); |
83 | return t; | 84 | return t; |
84 | } | 85 | } |
86 | |||
87 | #define atomic_cmpxchg(v, o, n) ((int)cmpxchg(&((v)->counter), (o), (n))) | ||
88 | #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) | ||
89 | |||
85 | #else /* !CONFIG_RMW_INSNS */ | 90 | #else /* !CONFIG_RMW_INSNS */ |
91 | |||
86 | static inline int atomic_add_return(int i, atomic_t * v) | 92 | static inline int atomic_add_return(int i, atomic_t * v) |
87 | { | 93 | { |
88 | unsigned long flags; | 94 | unsigned long flags; |
@@ -110,6 +116,32 @@ static inline int atomic_sub_return(int i, atomic_t * v) | |||
110 | 116 | ||
111 | return t; | 117 | return t; |
112 | } | 118 | } |
119 | |||
120 | static inline int atomic_cmpxchg(atomic_t *v, int old, int new) | ||
121 | { | ||
122 | unsigned long flags; | ||
123 | int prev; | ||
124 | |||
125 | local_irq_save(flags); | ||
126 | prev = atomic_read(v); | ||
127 | if (prev == old) | ||
128 | atomic_set(v, new); | ||
129 | local_irq_restore(flags); | ||
130 | return prev; | ||
131 | } | ||
132 | |||
133 | static inline int atomic_xchg(atomic_t *v, int new) | ||
134 | { | ||
135 | unsigned long flags; | ||
136 | int prev; | ||
137 | |||
138 | local_irq_save(flags); | ||
139 | prev = atomic_read(v); | ||
140 | atomic_set(v, new); | ||
141 | local_irq_restore(flags); | ||
142 | return prev; | ||
143 | } | ||
144 | |||
113 | #endif /* !CONFIG_RMW_INSNS */ | 145 | #endif /* !CONFIG_RMW_INSNS */ |
114 | 146 | ||
115 | #define atomic_dec_return(v) atomic_sub_return(1, (v)) | 147 | #define atomic_dec_return(v) atomic_sub_return(1, (v)) |
@@ -139,9 +171,6 @@ static inline void atomic_set_mask(unsigned long mask, unsigned long *v) | |||
139 | __asm__ __volatile__("orl %1,%0" : "+m" (*v) : "id" (mask)); | 171 | __asm__ __volatile__("orl %1,%0" : "+m" (*v) : "id" (mask)); |
140 | } | 172 | } |
141 | 173 | ||
142 | #define atomic_cmpxchg(v, o, n) ((int)cmpxchg(&((v)->counter), (o), (n))) | ||
143 | #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) | ||
144 | |||
145 | #define atomic_add_unless(v, a, u) \ | 174 | #define atomic_add_unless(v, a, u) \ |
146 | ({ \ | 175 | ({ \ |
147 | int c, old; \ | 176 | int c, old; \ |
diff --git a/include/asm-mips/atomic.h b/include/asm-mips/atomic.h index 654b97d3e13a..2c8b853376c9 100644 --- a/include/asm-mips/atomic.h +++ b/include/asm-mips/atomic.h | |||
@@ -250,7 +250,10 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) | |||
250 | " subu %0, %1, %3 \n" | 250 | " subu %0, %1, %3 \n" |
251 | " bltz %0, 1f \n" | 251 | " bltz %0, 1f \n" |
252 | " sc %0, %2 \n" | 252 | " sc %0, %2 \n" |
253 | " .set noreorder \n" | ||
253 | " beqzl %0, 1b \n" | 254 | " beqzl %0, 1b \n" |
255 | " subu %0, %1, %3 \n" | ||
256 | " .set reorder \n" | ||
254 | " sync \n" | 257 | " sync \n" |
255 | "1: \n" | 258 | "1: \n" |
256 | " .set mips0 \n" | 259 | " .set mips0 \n" |
@@ -266,7 +269,10 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) | |||
266 | " subu %0, %1, %3 \n" | 269 | " subu %0, %1, %3 \n" |
267 | " bltz %0, 1f \n" | 270 | " bltz %0, 1f \n" |
268 | " sc %0, %2 \n" | 271 | " sc %0, %2 \n" |
272 | " .set noreorder \n" | ||
269 | " beqz %0, 1b \n" | 273 | " beqz %0, 1b \n" |
274 | " subu %0, %1, %3 \n" | ||
275 | " .set reorder \n" | ||
270 | " sync \n" | 276 | " sync \n" |
271 | "1: \n" | 277 | "1: \n" |
272 | " .set mips0 \n" | 278 | " .set mips0 \n" |
@@ -598,7 +604,10 @@ static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) | |||
598 | " dsubu %0, %1, %3 \n" | 604 | " dsubu %0, %1, %3 \n" |
599 | " bltz %0, 1f \n" | 605 | " bltz %0, 1f \n" |
600 | " scd %0, %2 \n" | 606 | " scd %0, %2 \n" |
607 | " .set noreorder \n" | ||
601 | " beqzl %0, 1b \n" | 608 | " beqzl %0, 1b \n" |
609 | " dsubu %0, %1, %3 \n" | ||
610 | " .set reorder \n" | ||
602 | " sync \n" | 611 | " sync \n" |
603 | "1: \n" | 612 | "1: \n" |
604 | " .set mips0 \n" | 613 | " .set mips0 \n" |
@@ -614,7 +623,10 @@ static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) | |||
614 | " dsubu %0, %1, %3 \n" | 623 | " dsubu %0, %1, %3 \n" |
615 | " bltz %0, 1f \n" | 624 | " bltz %0, 1f \n" |
616 | " scd %0, %2 \n" | 625 | " scd %0, %2 \n" |
626 | " .set noreorder \n" | ||
617 | " beqz %0, 1b \n" | 627 | " beqz %0, 1b \n" |
628 | " dsubu %0, %1, %3 \n" | ||
629 | " .set reorder \n" | ||
618 | " sync \n" | 630 | " sync \n" |
619 | "1: \n" | 631 | "1: \n" |
620 | " .set mips0 \n" | 632 | " .set mips0 \n" |
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h index 5a4c8a54b8f4..8c011aa61afa 100644 --- a/include/asm-mips/io.h +++ b/include/asm-mips/io.h | |||
@@ -283,6 +283,24 @@ static inline void __iomem * __ioremap_mode(phys_t offset, unsigned long size, | |||
283 | __ioremap_mode((offset), (size), _CACHE_UNCACHED) | 283 | __ioremap_mode((offset), (size), _CACHE_UNCACHED) |
284 | 284 | ||
285 | /* | 285 | /* |
286 | * ioremap_cachable - map bus memory into CPU space | ||
287 | * @offset: bus address of the memory | ||
288 | * @size: size of the resource to map | ||
289 | * | ||
290 | * ioremap_nocache performs a platform specific sequence of operations to | ||
291 | * make bus memory CPU accessible via the readb/readw/readl/writeb/ | ||
292 | * writew/writel functions and the other mmio helpers. The returned | ||
293 | * address is not guaranteed to be usable directly as a virtual | ||
294 | * address. | ||
295 | * | ||
296 | * This version of ioremap ensures that the memory is marked cachable by | ||
297 | * the CPU. Also enables full write-combining. Useful for some | ||
298 | * memory-like regions on I/O busses. | ||
299 | */ | ||
300 | #define ioremap_cachable(offset, size) \ | ||
301 | __ioremap_mode((offset), (size), PAGE_CACHABLE_DEFAULT) | ||
302 | |||
303 | /* | ||
286 | * These two are MIPS specific ioremap variant. ioremap_cacheable_cow | 304 | * These two are MIPS specific ioremap variant. ioremap_cacheable_cow |
287 | * requests a cachable mapping, ioremap_uncached_accelerated requests a | 305 | * requests a cachable mapping, ioremap_uncached_accelerated requests a |
288 | * mapping using the uncached accelerated mode which isn't supported on | 306 | * mapping using the uncached accelerated mode which isn't supported on |
diff --git a/include/asm-mips/smp.h b/include/asm-mips/smp.h index 5618f1e12f40..75c6fe7c2126 100644 --- a/include/asm-mips/smp.h +++ b/include/asm-mips/smp.h | |||
@@ -58,7 +58,9 @@ static inline int num_booting_cpus(void) | |||
58 | return cpus_weight(cpu_callout_map); | 58 | return cpus_weight(cpu_callout_map); |
59 | } | 59 | } |
60 | 60 | ||
61 | /* These are defined by the board-specific code. */ | 61 | /* |
62 | * These are defined by the board-specific code. | ||
63 | */ | ||
62 | 64 | ||
63 | /* | 65 | /* |
64 | * Cause the function described by call_data to be executed on the passed | 66 | * Cause the function described by call_data to be executed on the passed |
@@ -79,7 +81,12 @@ extern void prom_boot_secondary(int cpu, struct task_struct *idle); | |||
79 | extern void prom_init_secondary(void); | 81 | extern void prom_init_secondary(void); |
80 | 82 | ||
81 | /* | 83 | /* |
82 | * Detect available CPUs, populate phys_cpu_present_map before smp_init | 84 | * Populate cpu_possible_map before smp_init, called from setup_arch. |
85 | */ | ||
86 | extern void plat_smp_setup(void); | ||
87 | |||
88 | /* | ||
89 | * Called after init_IRQ but before __cpu_up. | ||
83 | */ | 90 | */ |
84 | extern void prom_prepare_cpus(unsigned int max_cpus); | 91 | extern void prom_prepare_cpus(unsigned int max_cpus); |
85 | 92 | ||
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index e8e5d4143377..ddae9bae31af 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -322,7 +322,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old, | |||
322 | #endif | 322 | #endif |
323 | "2: \n" | 323 | "2: \n" |
324 | " .set pop \n" | 324 | " .set pop \n" |
325 | : "=&r" (retval), "=m" (*m) | 325 | : "=&r" (retval), "=R" (*m) |
326 | : "R" (*m), "Jr" (old), "Jr" (new) | 326 | : "R" (*m), "Jr" (old), "Jr" (new) |
327 | : "memory"); | 327 | : "memory"); |
328 | } else if (cpu_has_llsc) { | 328 | } else if (cpu_has_llsc) { |
@@ -342,7 +342,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old, | |||
342 | #endif | 342 | #endif |
343 | "2: \n" | 343 | "2: \n" |
344 | " .set pop \n" | 344 | " .set pop \n" |
345 | : "=&r" (retval), "=m" (*m) | 345 | : "=&r" (retval), "=R" (*m) |
346 | : "R" (*m), "Jr" (old), "Jr" (new) | 346 | : "R" (*m), "Jr" (old), "Jr" (new) |
347 | : "memory"); | 347 | : "memory"); |
348 | } else { | 348 | } else { |
@@ -379,7 +379,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old, | |||
379 | #endif | 379 | #endif |
380 | "2: \n" | 380 | "2: \n" |
381 | " .set pop \n" | 381 | " .set pop \n" |
382 | : "=&r" (retval), "=m" (*m) | 382 | : "=&r" (retval), "=R" (*m) |
383 | : "R" (*m), "Jr" (old), "Jr" (new) | 383 | : "R" (*m), "Jr" (old), "Jr" (new) |
384 | : "memory"); | 384 | : "memory"); |
385 | } else if (cpu_has_llsc) { | 385 | } else if (cpu_has_llsc) { |
@@ -397,7 +397,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old, | |||
397 | #endif | 397 | #endif |
398 | "2: \n" | 398 | "2: \n" |
399 | " .set pop \n" | 399 | " .set pop \n" |
400 | : "=&r" (retval), "=m" (*m) | 400 | : "=&r" (retval), "=R" (*m) |
401 | : "R" (*m), "Jr" (old), "Jr" (new) | 401 | : "R" (*m), "Jr" (old), "Jr" (new) |
402 | : "memory"); | 402 | : "memory"); |
403 | } else { | 403 | } else { |
diff --git a/include/asm-mips/vga.h b/include/asm-mips/vga.h index ca5cec97e167..34755c0a6398 100644 --- a/include/asm-mips/vga.h +++ b/include/asm-mips/vga.h | |||
@@ -26,6 +26,9 @@ | |||
26 | * <linux/vt_buffer.h> has already done the right job for us. | 26 | * <linux/vt_buffer.h> has already done the right job for us. |
27 | */ | 27 | */ |
28 | 28 | ||
29 | #undef scr_writew | ||
30 | #undef scr_readw | ||
31 | |||
29 | static inline void scr_writew(u16 val, volatile u16 *addr) | 32 | static inline void scr_writew(u16 val, volatile u16 *addr) |
30 | { | 33 | { |
31 | *addr = cpu_to_le16(val); | 34 | *addr = cpu_to_le16(val); |
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h index 90d005bb4d1c..5638518968c3 100644 --- a/include/asm-powerpc/cputable.h +++ b/include/asm-powerpc/cputable.h | |||
@@ -20,6 +20,8 @@ | |||
20 | #define PPC_FEATURE_POWER5_PLUS 0x00020000 | 20 | #define PPC_FEATURE_POWER5_PLUS 0x00020000 |
21 | #define PPC_FEATURE_CELL 0x00010000 | 21 | #define PPC_FEATURE_CELL 0x00010000 |
22 | #define PPC_FEATURE_BOOKE 0x00008000 | 22 | #define PPC_FEATURE_BOOKE 0x00008000 |
23 | #define PPC_FEATURE_SMT 0x00004000 | ||
24 | #define PPC_FEATURE_ICACHE_SNOOP 0x00002000 | ||
23 | 25 | ||
24 | #ifdef __KERNEL__ | 26 | #ifdef __KERNEL__ |
25 | #ifndef __ASSEMBLY__ | 27 | #ifndef __ASSEMBLY__ |
diff --git a/include/asm-powerpc/eeh.h b/include/asm-powerpc/eeh.h index b263fb2fa6e4..5207758a6dd9 100644 --- a/include/asm-powerpc/eeh.h +++ b/include/asm-powerpc/eeh.h | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/string.h> | 27 | #include <linux/string.h> |
28 | 28 | ||
29 | struct pci_dev; | 29 | struct pci_dev; |
30 | struct pci_bus; | ||
30 | struct device_node; | 31 | struct device_node; |
31 | 32 | ||
32 | #ifdef CONFIG_EEH | 33 | #ifdef CONFIG_EEH |
@@ -60,8 +61,9 @@ void __init pci_addr_cache_build(void); | |||
60 | * to finish the eeh setup for this device. | 61 | * to finish the eeh setup for this device. |
61 | */ | 62 | */ |
62 | void eeh_add_device_early(struct device_node *); | 63 | void eeh_add_device_early(struct device_node *); |
64 | void eeh_add_device_late(struct pci_dev *dev); | ||
63 | void eeh_add_device_tree_early(struct device_node *); | 65 | void eeh_add_device_tree_early(struct device_node *); |
64 | void eeh_add_device_late(struct pci_dev *); | 66 | void eeh_add_device_tree_late(struct pci_bus *); |
65 | 67 | ||
66 | /** | 68 | /** |
67 | * eeh_remove_device - undo EEH setup for the indicated pci device | 69 | * eeh_remove_device - undo EEH setup for the indicated pci device |
@@ -122,6 +124,8 @@ static inline void eeh_remove_device(struct pci_dev *dev) { } | |||
122 | 124 | ||
123 | static inline void eeh_add_device_tree_early(struct device_node *dn) { } | 125 | static inline void eeh_add_device_tree_early(struct device_node *dn) { } |
124 | 126 | ||
127 | static inline void eeh_add_device_tree_late(struct pci_bus *bus) { } | ||
128 | |||
125 | static inline void eeh_remove_bus_device(struct pci_dev *dev) { } | 129 | static inline void eeh_remove_bus_device(struct pci_dev *dev) { } |
126 | #define EEH_POSSIBLE_ERROR(val, type) (0) | 130 | #define EEH_POSSIBLE_ERROR(val, type) (0) |
127 | #define EEH_IO_ERROR_VALUE(size) (-1UL) | 131 | #define EEH_IO_ERROR_VALUE(size) (-1UL) |
diff --git a/include/asm-powerpc/kexec.h b/include/asm-powerpc/kexec.h index bda2f217e6fe..6a2af2f6853b 100644 --- a/include/asm-powerpc/kexec.h +++ b/include/asm-powerpc/kexec.h | |||
@@ -93,7 +93,8 @@ static inline void crash_setup_regs(struct pt_regs *newregs, | |||
93 | "mfxer %0\n" | 93 | "mfxer %0\n" |
94 | "std %0, 296(%2)\n" | 94 | "std %0, 296(%2)\n" |
95 | : "=&r" (tmp1), "=&r" (tmp2) | 95 | : "=&r" (tmp1), "=&r" (tmp2) |
96 | : "b" (newregs)); | 96 | : "b" (newregs) |
97 | : "memory"); | ||
97 | } | 98 | } |
98 | } | 99 | } |
99 | #else | 100 | #else |
diff --git a/include/asm-powerpc/pgtable-4k.h b/include/asm-powerpc/pgtable-4k.h index e9590c06ad92..80a7832d2721 100644 --- a/include/asm-powerpc/pgtable-4k.h +++ b/include/asm-powerpc/pgtable-4k.h | |||
@@ -88,4 +88,4 @@ | |||
88 | (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))) | 88 | (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))) |
89 | 89 | ||
90 | #define pud_ERROR(e) \ | 90 | #define pud_ERROR(e) \ |
91 | printk("%s:%d: bad pmd %08lx.\n", __FILE__, __LINE__, pud_val(e)) | 91 | printk("%s:%d: bad pud %08lx.\n", __FILE__, __LINE__, pud_val(e)) |
diff --git a/include/asm-powerpc/thread_info.h b/include/asm-powerpc/thread_info.h index 237fc2b72974..ffc7462d77ba 100644 --- a/include/asm-powerpc/thread_info.h +++ b/include/asm-powerpc/thread_info.h | |||
@@ -37,7 +37,6 @@ struct thread_info { | |||
37 | int preempt_count; /* 0 => preemptable, | 37 | int preempt_count; /* 0 => preemptable, |
38 | <0 => BUG */ | 38 | <0 => BUG */ |
39 | struct restart_block restart_block; | 39 | struct restart_block restart_block; |
40 | void __user *nvgprs_frame; | ||
41 | /* low level flags - has atomic operations done on it */ | 40 | /* low level flags - has atomic operations done on it */ |
42 | unsigned long flags ____cacheline_aligned_in_smp; | 41 | unsigned long flags ____cacheline_aligned_in_smp; |
43 | }; | 42 | }; |
@@ -120,7 +119,6 @@ static inline struct thread_info *current_thread_info(void) | |||
120 | #define TIF_MEMDIE 10 | 119 | #define TIF_MEMDIE 10 |
121 | #define TIF_SECCOMP 11 /* secure computing */ | 120 | #define TIF_SECCOMP 11 /* secure computing */ |
122 | #define TIF_RESTOREALL 12 /* Restore all regs (implies NOERROR) */ | 121 | #define TIF_RESTOREALL 12 /* Restore all regs (implies NOERROR) */ |
123 | #define TIF_SAVE_NVGPRS 13 /* Save r14-r31 in signal frame */ | ||
124 | #define TIF_NOERROR 14 /* Force successful syscall return */ | 122 | #define TIF_NOERROR 14 /* Force successful syscall return */ |
125 | #define TIF_RESTORE_SIGMASK 15 /* Restore signal mask in do_signal */ | 123 | #define TIF_RESTORE_SIGMASK 15 /* Restore signal mask in do_signal */ |
126 | 124 | ||
@@ -137,15 +135,13 @@ static inline struct thread_info *current_thread_info(void) | |||
137 | #define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP) | 135 | #define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP) |
138 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) | 136 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) |
139 | #define _TIF_RESTOREALL (1<<TIF_RESTOREALL) | 137 | #define _TIF_RESTOREALL (1<<TIF_RESTOREALL) |
140 | #define _TIF_SAVE_NVGPRS (1<<TIF_SAVE_NVGPRS) | ||
141 | #define _TIF_NOERROR (1<<TIF_NOERROR) | 138 | #define _TIF_NOERROR (1<<TIF_NOERROR) |
142 | #define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK) | 139 | #define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK) |
143 | #define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP) | 140 | #define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP) |
144 | 141 | ||
145 | #define _TIF_USER_WORK_MASK (_TIF_NOTIFY_RESUME | _TIF_SIGPENDING | \ | 142 | #define _TIF_USER_WORK_MASK (_TIF_NOTIFY_RESUME | _TIF_SIGPENDING | \ |
146 | _TIF_NEED_RESCHED | _TIF_RESTOREALL | \ | 143 | _TIF_NEED_RESCHED | _TIF_RESTORE_SIGMASK) |
147 | _TIF_RESTORE_SIGMASK) | 144 | #define _TIF_PERSYSCALL_MASK (_TIF_RESTOREALL|_TIF_NOERROR) |
148 | #define _TIF_PERSYSCALL_MASK (_TIF_RESTOREALL|_TIF_NOERROR|_TIF_SAVE_NVGPRS) | ||
149 | 145 | ||
150 | #endif /* __KERNEL__ */ | 146 | #endif /* __KERNEL__ */ |
151 | 147 | ||
diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h index b2e65e8bf812..6a89dbb03c1e 100644 --- a/include/asm-s390/system.h +++ b/include/asm-s390/system.h | |||
@@ -118,6 +118,8 @@ static inline void sched_cacheflush(void) | |||
118 | extern void account_vtime(struct task_struct *); | 118 | extern void account_vtime(struct task_struct *); |
119 | extern void account_tick_vtime(struct task_struct *); | 119 | extern void account_tick_vtime(struct task_struct *); |
120 | extern void account_system_vtime(struct task_struct *); | 120 | extern void account_system_vtime(struct task_struct *); |
121 | #else | ||
122 | #define account_vtime(x) do { /* empty */ } while (0) | ||
121 | #endif | 123 | #endif |
122 | 124 | ||
123 | #define finish_arch_switch(prev) do { \ | 125 | #define finish_arch_switch(prev) do { \ |
diff --git a/include/asm-sparc64/futex.h b/include/asm-sparc64/futex.h index 0caf60147e97..34c4b43d3f98 100644 --- a/include/asm-sparc64/futex.h +++ b/include/asm-sparc64/futex.h | |||
@@ -20,7 +20,7 @@ | |||
20 | "4: ba 3b\n" \ | 20 | "4: ba 3b\n" \ |
21 | " mov %5, %0\n" \ | 21 | " mov %5, %0\n" \ |
22 | " .previous\n" \ | 22 | " .previous\n" \ |
23 | " .section __ex_table,#alloc\n" \ | 23 | " .section __ex_table,\"a\"\n" \ |
24 | " .align 4\n" \ | 24 | " .align 4\n" \ |
25 | " .word 1b, 4b\n" \ | 25 | " .word 1b, 4b\n" \ |
26 | " .word 2b, 4b\n" \ | 26 | " .word 2b, 4b\n" \ |
diff --git a/include/asm-sparc64/uaccess.h b/include/asm-sparc64/uaccess.h index 203e8eee6351..c91d1e38eac6 100644 --- a/include/asm-sparc64/uaccess.h +++ b/include/asm-sparc64/uaccess.h | |||
@@ -136,7 +136,7 @@ __asm__ __volatile__( \ | |||
136 | "b 2b\n\t" \ | 136 | "b 2b\n\t" \ |
137 | " mov %3, %0\n\n\t" \ | 137 | " mov %3, %0\n\n\t" \ |
138 | ".previous\n\t" \ | 138 | ".previous\n\t" \ |
139 | ".section __ex_table,#alloc\n\t" \ | 139 | ".section __ex_table,\"a\"\n\t" \ |
140 | ".align 4\n\t" \ | 140 | ".align 4\n\t" \ |
141 | ".word 1b, 3b\n\t" \ | 141 | ".word 1b, 3b\n\t" \ |
142 | ".previous\n\n\t" \ | 142 | ".previous\n\n\t" \ |
@@ -148,7 +148,7 @@ if (__builtin_constant_p(ret) && ret == -EFAULT) \ | |||
148 | __asm__ __volatile__( \ | 148 | __asm__ __volatile__( \ |
149 | "/* Put user asm ret, inline. */\n" \ | 149 | "/* Put user asm ret, inline. */\n" \ |
150 | "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ | 150 | "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ |
151 | ".section __ex_table,#alloc\n\t" \ | 151 | ".section __ex_table,\"a\"\n\t" \ |
152 | ".align 4\n\t" \ | 152 | ".align 4\n\t" \ |
153 | ".word 1b, __ret_efault\n\n\t" \ | 153 | ".word 1b, __ret_efault\n\n\t" \ |
154 | ".previous\n\n\t" \ | 154 | ".previous\n\n\t" \ |
@@ -163,7 +163,7 @@ __asm__ __volatile__( \ | |||
163 | "ret\n\t" \ | 163 | "ret\n\t" \ |
164 | " restore %%g0, %3, %%o0\n\n\t" \ | 164 | " restore %%g0, %3, %%o0\n\n\t" \ |
165 | ".previous\n\t" \ | 165 | ".previous\n\t" \ |
166 | ".section __ex_table,#alloc\n\t" \ | 166 | ".section __ex_table,\"a\"\n\t" \ |
167 | ".align 4\n\t" \ | 167 | ".align 4\n\t" \ |
168 | ".word 1b, 3b\n\n\t" \ | 168 | ".word 1b, 3b\n\n\t" \ |
169 | ".previous\n\n\t" \ | 169 | ".previous\n\n\t" \ |
@@ -206,7 +206,7 @@ __asm__ __volatile__( \ | |||
206 | "b 2b\n\t" \ | 206 | "b 2b\n\t" \ |
207 | " mov %3, %0\n\n\t" \ | 207 | " mov %3, %0\n\n\t" \ |
208 | ".previous\n\t" \ | 208 | ".previous\n\t" \ |
209 | ".section __ex_table,#alloc\n\t" \ | 209 | ".section __ex_table,\"a\"\n\t" \ |
210 | ".align 4\n\t" \ | 210 | ".align 4\n\t" \ |
211 | ".word 1b, 3b\n\n\t" \ | 211 | ".word 1b, 3b\n\n\t" \ |
212 | ".previous\n\t" \ | 212 | ".previous\n\t" \ |
@@ -218,7 +218,7 @@ if (__builtin_constant_p(retval) && retval == -EFAULT) \ | |||
218 | __asm__ __volatile__( \ | 218 | __asm__ __volatile__( \ |
219 | "/* Get user asm ret, inline. */\n" \ | 219 | "/* Get user asm ret, inline. */\n" \ |
220 | "1:\t" "ld"#size "a [%1] %%asi, %0\n\n\t" \ | 220 | "1:\t" "ld"#size "a [%1] %%asi, %0\n\n\t" \ |
221 | ".section __ex_table,#alloc\n\t" \ | 221 | ".section __ex_table,\"a\"\n\t" \ |
222 | ".align 4\n\t" \ | 222 | ".align 4\n\t" \ |
223 | ".word 1b,__ret_efault\n\n\t" \ | 223 | ".word 1b,__ret_efault\n\n\t" \ |
224 | ".previous\n\t" \ | 224 | ".previous\n\t" \ |
@@ -233,7 +233,7 @@ __asm__ __volatile__( \ | |||
233 | "ret\n\t" \ | 233 | "ret\n\t" \ |
234 | " restore %%g0, %2, %%o0\n\n\t" \ | 234 | " restore %%g0, %2, %%o0\n\n\t" \ |
235 | ".previous\n\t" \ | 235 | ".previous\n\t" \ |
236 | ".section __ex_table,#alloc\n\t" \ | 236 | ".section __ex_table,\"a\"\n\t" \ |
237 | ".align 4\n\t" \ | 237 | ".align 4\n\t" \ |
238 | ".word 1b, 3b\n\n\t" \ | 238 | ".word 1b, 3b\n\n\t" \ |
239 | ".previous\n\t" \ | 239 | ".previous\n\t" \ |
diff --git a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h index e2b9923189a0..aa1c7b2e438c 100644 --- a/include/asm-x86_64/acpi.h +++ b/include/asm-x86_64/acpi.h | |||
@@ -164,20 +164,6 @@ extern u8 x86_acpiid_to_apicid[]; | |||
164 | 164 | ||
165 | extern int acpi_skip_timer_override; | 165 | extern int acpi_skip_timer_override; |
166 | 166 | ||
167 | extern int unsync_tsc_on_multicluster; | ||
168 | |||
169 | static inline int acpi_madt_oem_check(char *oem, char *productid) | ||
170 | { | ||
171 | /* Copied from i386. Probably has too many entries. */ | ||
172 | if (!strncmp(oem, "IBM ENSW", 8) && | ||
173 | (!strncmp(productid, "VIGIL SMP", 9) | ||
174 | || !strncmp(productid, "EXA", 3) | ||
175 | || !strncmp(productid, "RUTHLESS SMP", 12))) { | ||
176 | unsync_tsc_on_multicluster = 1; | ||
177 | } | ||
178 | return 0; | ||
179 | } | ||
180 | |||
181 | #endif /*__KERNEL__*/ | 167 | #endif /*__KERNEL__*/ |
182 | 168 | ||
183 | #endif /*_ASM_ACPI_H*/ | 169 | #endif /*_ASM_ACPI_H*/ |
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h index 8fad50f8e389..ae7dfb790df3 100644 --- a/include/linux/compat_ioctl.h +++ b/include/linux/compat_ioctl.h | |||
@@ -696,6 +696,8 @@ COMPATIBLE_IOCTL(MEMLOCK) | |||
696 | COMPATIBLE_IOCTL(MEMUNLOCK) | 696 | COMPATIBLE_IOCTL(MEMUNLOCK) |
697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) | 697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) |
698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) | 698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) |
699 | COMPATIBLE_IOCTL(MEMGETBADBLOCK) | ||
700 | COMPATIBLE_IOCTL(MEMSETBADBLOCK) | ||
699 | /* NBD */ | 701 | /* NBD */ |
700 | ULONG_IOCTL(NBD_SET_SOCK) | 702 | ULONG_IOCTL(NBD_SET_SOCK) |
701 | ULONG_IOCTL(NBD_SET_BLKSIZE) | 703 | ULONG_IOCTL(NBD_SET_BLKSIZE) |
diff --git a/include/linux/file.h b/include/linux/file.h index 418b6101b59a..9901b850f2e4 100644 --- a/include/linux/file.h +++ b/include/linux/file.h | |||
@@ -60,8 +60,6 @@ extern void put_filp(struct file *); | |||
60 | extern int get_unused_fd(void); | 60 | extern int get_unused_fd(void); |
61 | extern void FASTCALL(put_unused_fd(unsigned int fd)); | 61 | extern void FASTCALL(put_unused_fd(unsigned int fd)); |
62 | struct kmem_cache; | 62 | struct kmem_cache; |
63 | extern void filp_ctor(void * objp, struct kmem_cache *cachep, unsigned long cflags); | ||
64 | extern void filp_dtor(void * objp, struct kmem_cache *cachep, unsigned long dflags); | ||
65 | 63 | ||
66 | extern struct file ** alloc_fd_array(int); | 64 | extern struct file ** alloc_fd_array(int); |
67 | extern void free_fd_array(struct file **, int); | 65 | extern void free_fd_array(struct file **, int); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index e059da947007..128d0082522c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -35,6 +35,7 @@ struct files_stat_struct { | |||
35 | int max_files; /* tunable */ | 35 | int max_files; /* tunable */ |
36 | }; | 36 | }; |
37 | extern struct files_stat_struct files_stat; | 37 | extern struct files_stat_struct files_stat; |
38 | extern int get_max_files(void); | ||
38 | 39 | ||
39 | struct inodes_stat_t { | 40 | struct inodes_stat_t { |
40 | int nr_inodes; | 41 | int nr_inodes; |
@@ -1418,9 +1419,6 @@ extern int is_bad_inode(struct inode *); | |||
1418 | extern struct file_operations read_fifo_fops; | 1419 | extern struct file_operations read_fifo_fops; |
1419 | extern struct file_operations write_fifo_fops; | 1420 | extern struct file_operations write_fifo_fops; |
1420 | extern struct file_operations rdwr_fifo_fops; | 1421 | extern struct file_operations rdwr_fifo_fops; |
1421 | extern struct file_operations read_pipe_fops; | ||
1422 | extern struct file_operations write_pipe_fops; | ||
1423 | extern struct file_operations rdwr_pipe_fops; | ||
1424 | 1422 | ||
1425 | extern int fs_may_remount_ro(struct super_block *); | 1423 | extern int fs_may_remount_ro(struct super_block *); |
1426 | 1424 | ||
@@ -1666,6 +1664,8 @@ extern int vfs_follow_link(struct nameidata *, const char *); | |||
1666 | extern int page_readlink(struct dentry *, char __user *, int); | 1664 | extern int page_readlink(struct dentry *, char __user *, int); |
1667 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); | 1665 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); |
1668 | extern void page_put_link(struct dentry *, struct nameidata *, void *); | 1666 | extern void page_put_link(struct dentry *, struct nameidata *, void *); |
1667 | extern int __page_symlink(struct inode *inode, const char *symname, int len, | ||
1668 | gfp_t gfp_mask); | ||
1669 | extern int page_symlink(struct inode *inode, const char *symname, int len); | 1669 | extern int page_symlink(struct inode *inode, const char *symname, int len); |
1670 | extern struct inode_operations page_symlink_inode_operations; | 1670 | extern struct inode_operations page_symlink_inode_operations; |
1671 | extern int generic_readlink(struct dentry *, char __user *, int); | 1671 | extern int generic_readlink(struct dentry *, char __user *, int); |
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 20f9148e38d9..7851e6b520cf 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
@@ -157,9 +157,9 @@ extern void FASTCALL(free_cold_page(struct page *page)); | |||
157 | 157 | ||
158 | void page_alloc_init(void); | 158 | void page_alloc_init(void); |
159 | #ifdef CONFIG_NUMA | 159 | #ifdef CONFIG_NUMA |
160 | void drain_remote_pages(void); | 160 | void drain_node_pages(int node); |
161 | #else | 161 | #else |
162 | static inline void drain_remote_pages(void) { }; | 162 | static inline void drain_node_pages(int node) { }; |
163 | #endif | 163 | #endif |
164 | 164 | ||
165 | #endif /* __LINUX_GFP_H */ | 165 | #endif /* __LINUX_GFP_H */ |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 6361544bb6ae..6401c31d6add 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -116,6 +116,10 @@ extern int hrtimer_try_to_cancel(struct hrtimer *timer); | |||
116 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); | 116 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); |
117 | extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); | 117 | extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); |
118 | 118 | ||
119 | #ifdef CONFIG_NO_IDLE_HZ | ||
120 | extern ktime_t hrtimer_get_next_event(void); | ||
121 | #endif | ||
122 | |||
119 | static inline int hrtimer_active(const struct hrtimer *timer) | 123 | static inline int hrtimer_active(const struct hrtimer *timer) |
120 | { | 124 | { |
121 | return timer->state == HRTIMER_PENDING; | 125 | return timer->state == HRTIMER_PENDING; |
diff --git a/include/linux/kmalloc_sizes.h b/include/linux/kmalloc_sizes.h index d82d4c05c12d..bda23e00ed71 100644 --- a/include/linux/kmalloc_sizes.h +++ b/include/linux/kmalloc_sizes.h | |||
@@ -19,8 +19,10 @@ | |||
19 | CACHE(32768) | 19 | CACHE(32768) |
20 | CACHE(65536) | 20 | CACHE(65536) |
21 | CACHE(131072) | 21 | CACHE(131072) |
22 | #ifndef CONFIG_MMU | 22 | #if (NR_CPUS > 512) || (MAX_NUMNODES > 256) || !defined(CONFIG_MMU) |
23 | CACHE(262144) | 23 | CACHE(262144) |
24 | #endif | ||
25 | #ifndef CONFIG_MMU | ||
24 | CACHE(524288) | 26 | CACHE(524288) |
25 | CACHE(1048576) | 27 | CACHE(1048576) |
26 | #ifdef CONFIG_LARGE_ALLOCS | 28 | #ifdef CONFIG_LARGE_ALLOCS |
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index 01f03bc06eff..968b1aa3732c 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h | |||
@@ -6,6 +6,10 @@ | |||
6 | #include <linux/mmzone.h> | 6 | #include <linux/mmzone.h> |
7 | #include <linux/notifier.h> | 7 | #include <linux/notifier.h> |
8 | 8 | ||
9 | struct page; | ||
10 | struct zone; | ||
11 | struct pglist_data; | ||
12 | |||
9 | #ifdef CONFIG_MEMORY_HOTPLUG | 13 | #ifdef CONFIG_MEMORY_HOTPLUG |
10 | /* | 14 | /* |
11 | * pgdat resizing functions | 15 | * pgdat resizing functions |
diff --git a/include/linux/netfilter_bridge/ebt_log.h b/include/linux/netfilter_bridge/ebt_log.h index 358fbc84fb59..96e231ae7554 100644 --- a/include/linux/netfilter_bridge/ebt_log.h +++ b/include/linux/netfilter_bridge/ebt_log.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #define EBT_LOG_IP 0x01 /* if the frame is made by ip, log the ip information */ | 4 | #define EBT_LOG_IP 0x01 /* if the frame is made by ip, log the ip information */ |
5 | #define EBT_LOG_ARP 0x02 | 5 | #define EBT_LOG_ARP 0x02 |
6 | #define EBT_LOG_NFLOG 0x04 | ||
6 | #define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP) | 7 | #define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP) |
7 | #define EBT_LOG_PREFIX_SIZE 30 | 8 | #define EBT_LOG_PREFIX_SIZE 30 |
8 | #define EBT_LOG_WATCHER "log" | 9 | #define EBT_LOG_WATCHER "log" |
diff --git a/include/linux/netfilter_ipv4/ipt_LOG.h b/include/linux/netfilter_ipv4/ipt_LOG.h index 22d16177319b..892f9a33fea8 100644 --- a/include/linux/netfilter_ipv4/ipt_LOG.h +++ b/include/linux/netfilter_ipv4/ipt_LOG.h | |||
@@ -6,7 +6,8 @@ | |||
6 | #define IPT_LOG_TCPOPT 0x02 /* Log TCP options */ | 6 | #define IPT_LOG_TCPOPT 0x02 /* Log TCP options */ |
7 | #define IPT_LOG_IPOPT 0x04 /* Log IP options */ | 7 | #define IPT_LOG_IPOPT 0x04 /* Log IP options */ |
8 | #define IPT_LOG_UID 0x08 /* Log UID owning local socket */ | 8 | #define IPT_LOG_UID 0x08 /* Log UID owning local socket */ |
9 | #define IPT_LOG_MASK 0x0f | 9 | #define IPT_LOG_NFLOG 0x10 /* Log using nf_log backend */ |
10 | #define IPT_LOG_MASK 0x1f | ||
10 | 11 | ||
11 | struct ipt_log_info { | 12 | struct ipt_log_info { |
12 | unsigned char level; | 13 | unsigned char level; |
diff --git a/include/linux/netfilter_ipv6/ip6t_LOG.h b/include/linux/netfilter_ipv6/ip6t_LOG.h index 9008ff5c40ae..060c1a1c6c60 100644 --- a/include/linux/netfilter_ipv6/ip6t_LOG.h +++ b/include/linux/netfilter_ipv6/ip6t_LOG.h | |||
@@ -6,7 +6,8 @@ | |||
6 | #define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */ | 6 | #define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */ |
7 | #define IP6T_LOG_IPOPT 0x04 /* Log IP options */ | 7 | #define IP6T_LOG_IPOPT 0x04 /* Log IP options */ |
8 | #define IP6T_LOG_UID 0x08 /* Log UID owning local socket */ | 8 | #define IP6T_LOG_UID 0x08 /* Log UID owning local socket */ |
9 | #define IP6T_LOG_MASK 0x0f | 9 | #define IP6T_LOG_NFLOG 0x10 /* Log using nf_log backend */ |
10 | #define IP6T_LOG_MASK 0x1f | ||
10 | 11 | ||
11 | struct ip6t_log_info { | 12 | struct ip6t_log_info { |
12 | unsigned char level; | 13 | unsigned char level; |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 1afac931351e..a6fdbe13a245 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1754,6 +1754,8 @@ | |||
1754 | #define PCI_DEVICE_ID_CCD_B00B 0xb00b | 1754 | #define PCI_DEVICE_ID_CCD_B00B 0xb00b |
1755 | #define PCI_DEVICE_ID_CCD_B00C 0xb00c | 1755 | #define PCI_DEVICE_ID_CCD_B00C 0xb00c |
1756 | #define PCI_DEVICE_ID_CCD_B100 0xb100 | 1756 | #define PCI_DEVICE_ID_CCD_B100 0xb100 |
1757 | #define PCI_DEVICE_ID_CCD_B700 0xb700 | ||
1758 | #define PCI_DEVICE_ID_CCD_B701 0xb701 | ||
1757 | 1759 | ||
1758 | #define PCI_VENDOR_ID_EXAR 0x13a8 | 1760 | #define PCI_VENDOR_ID_EXAR 0x13a8 |
1759 | #define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 | 1761 | #define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 |
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h index bd6708e2c027..682525511c9e 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h | |||
@@ -39,6 +39,7 @@ static inline void percpu_counter_destroy(struct percpu_counter *fbc) | |||
39 | } | 39 | } |
40 | 40 | ||
41 | void percpu_counter_mod(struct percpu_counter *fbc, long amount); | 41 | void percpu_counter_mod(struct percpu_counter *fbc, long amount); |
42 | long percpu_counter_sum(struct percpu_counter *fbc); | ||
42 | 43 | ||
43 | static inline long percpu_counter_read(struct percpu_counter *fbc) | 44 | static inline long percpu_counter_read(struct percpu_counter *fbc) |
44 | { | 45 | { |
@@ -92,6 +93,11 @@ static inline long percpu_counter_read_positive(struct percpu_counter *fbc) | |||
92 | return fbc->count; | 93 | return fbc->count; |
93 | } | 94 | } |
94 | 95 | ||
96 | static inline long percpu_counter_sum(struct percpu_counter *fbc) | ||
97 | { | ||
98 | return percpu_counter_read_positive(fbc); | ||
99 | } | ||
100 | |||
95 | #endif /* CONFIG_SMP */ | 101 | #endif /* CONFIG_SMP */ |
96 | 102 | ||
97 | static inline void percpu_counter_inc(struct percpu_counter *fbc) | 103 | static inline void percpu_counter_inc(struct percpu_counter *fbc) |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index b87aefa082e2..c2ec6c77874e 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -98,13 +98,17 @@ struct rcu_data { | |||
98 | long batch; /* Batch # for current RCU batch */ | 98 | long batch; /* Batch # for current RCU batch */ |
99 | struct rcu_head *nxtlist; | 99 | struct rcu_head *nxtlist; |
100 | struct rcu_head **nxttail; | 100 | struct rcu_head **nxttail; |
101 | long count; /* # of queued items */ | 101 | long qlen; /* # of queued callbacks */ |
102 | struct rcu_head *curlist; | 102 | struct rcu_head *curlist; |
103 | struct rcu_head **curtail; | 103 | struct rcu_head **curtail; |
104 | struct rcu_head *donelist; | 104 | struct rcu_head *donelist; |
105 | struct rcu_head **donetail; | 105 | struct rcu_head **donetail; |
106 | long blimit; /* Upper limit on a processed batch */ | ||
106 | int cpu; | 107 | int cpu; |
107 | struct rcu_head barrier; | 108 | struct rcu_head barrier; |
109 | #ifdef CONFIG_SMP | ||
110 | long last_rs_qlen; /* qlen during the last resched */ | ||
111 | #endif | ||
108 | }; | 112 | }; |
109 | 113 | ||
110 | DECLARE_PER_CPU(struct rcu_data, rcu_data); | 114 | DECLARE_PER_CPU(struct rcu_data, rcu_data); |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index 7d51149bd793..dad78cecfd20 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
@@ -1052,7 +1052,7 @@ struct reiserfs_dir_entry { | |||
1052 | int de_entrylen; | 1052 | int de_entrylen; |
1053 | int de_namelen; | 1053 | int de_namelen; |
1054 | char *de_name; | 1054 | char *de_name; |
1055 | char *de_gen_number_bit_string; | 1055 | unsigned long *de_gen_number_bit_string; |
1056 | 1056 | ||
1057 | __u32 de_dir_id; | 1057 | __u32 de_dir_id; |
1058 | __u32 de_objectid; | 1058 | __u32 de_objectid; |
diff --git a/include/linux/sched.h b/include/linux/sched.h index b6f51e3a38ec..62e6314382f0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -298,8 +298,9 @@ struct mm_struct { | |||
298 | unsigned long addr, unsigned long len, | 298 | unsigned long addr, unsigned long len, |
299 | unsigned long pgoff, unsigned long flags); | 299 | unsigned long pgoff, unsigned long flags); |
300 | void (*unmap_area) (struct mm_struct *mm, unsigned long addr); | 300 | void (*unmap_area) (struct mm_struct *mm, unsigned long addr); |
301 | unsigned long mmap_base; /* base of mmap area */ | 301 | unsigned long mmap_base; /* base of mmap area */ |
302 | unsigned long cached_hole_size; /* if non-zero, the largest hole below free_area_cache */ | 302 | unsigned long task_size; /* size of task vm space */ |
303 | unsigned long cached_hole_size; /* if non-zero, the largest hole below free_area_cache */ | ||
303 | unsigned long free_area_cache; /* first hole of size cached_hole_size or larger */ | 304 | unsigned long free_area_cache; /* first hole of size cached_hole_size or larger */ |
304 | pgd_t * pgd; | 305 | pgd_t * pgd; |
305 | atomic_t mm_users; /* How many users with user space? */ | 306 | atomic_t mm_users; /* How many users with user space? */ |
@@ -891,7 +892,6 @@ static inline int pid_alive(struct task_struct *p) | |||
891 | } | 892 | } |
892 | 893 | ||
893 | extern void free_task(struct task_struct *tsk); | 894 | extern void free_task(struct task_struct *tsk); |
894 | extern void __put_task_struct(struct task_struct *tsk); | ||
895 | #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) | 895 | #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) |
896 | 896 | ||
897 | extern void __put_task_struct_cb(struct rcu_head *rhp); | 897 | extern void __put_task_struct_cb(struct rcu_head *rhp); |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 0e92bf7ec28e..bac61db26456 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -147,6 +147,7 @@ enum | |||
147 | KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */ | 147 | KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */ |
148 | KERN_SPIN_RETRY=70, /* int: number of spinlock retries */ | 148 | KERN_SPIN_RETRY=70, /* int: number of spinlock retries */ |
149 | KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */ | 149 | KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */ |
150 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ | ||
150 | }; | 151 | }; |
151 | 152 | ||
152 | 153 | ||
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 004e645f3e18..8d362c49b8a9 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -233,7 +233,6 @@ struct xfrm_type | |||
233 | int (*init_state)(struct xfrm_state *x); | 233 | int (*init_state)(struct xfrm_state *x); |
234 | void (*destructor)(struct xfrm_state *); | 234 | void (*destructor)(struct xfrm_state *); |
235 | int (*input)(struct xfrm_state *, struct xfrm_decap_state *, struct sk_buff *skb); | 235 | int (*input)(struct xfrm_state *, struct xfrm_decap_state *, struct sk_buff *skb); |
236 | int (*post_input)(struct xfrm_state *, struct xfrm_decap_state *, struct sk_buff *skb); | ||
237 | int (*output)(struct xfrm_state *, struct sk_buff *pskb); | 236 | int (*output)(struct xfrm_state *, struct sk_buff *pskb); |
238 | /* Estimate maximal size of result of transformation of a dgram */ | 237 | /* Estimate maximal size of result of transformation of a dgram */ |
239 | u32 (*get_max_size)(struct xfrm_state *, int size); | 238 | u32 (*get_max_size)(struct xfrm_state *, int size); |
diff --git a/include/pcmcia/device_id.h b/include/pcmcia/device_id.h index 346d81ece287..e04e0b0d9a25 100644 --- a/include/pcmcia/device_id.h +++ b/include/pcmcia/device_id.h | |||
@@ -72,6 +72,15 @@ | |||
72 | .prod_id = { (v1), (v2), (v3), (v4) }, \ | 72 | .prod_id = { (v1), (v2), (v3), (v4) }, \ |
73 | .prod_id_hash = { (vh1), (vh2), (vh3), (vh4) }, } | 73 | .prod_id_hash = { (vh1), (vh2), (vh3), (vh4) }, } |
74 | 74 | ||
75 | #define PCMCIA_DEVICE_MANF_CARD_PROD_ID1(manf, card, v1, vh1) { \ | ||
76 | .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ | ||
77 | PCMCIA_DEV_ID_MATCH_CARD_ID| \ | ||
78 | PCMCIA_DEV_ID_MATCH_PROD_ID1, \ | ||
79 | .manf_id = (manf), \ | ||
80 | .card_id = (card), \ | ||
81 | .prod_id = { (v1), NULL, NULL, NULL }, \ | ||
82 | .prod_id_hash = { (vh1), 0, 0, 0 }, } | ||
83 | |||
75 | 84 | ||
76 | /* multi-function devices */ | 85 | /* multi-function devices */ |
77 | 86 | ||