diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-14 10:53:49 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-14 10:53:49 -0400 |
| commit | b581af5110ab62db3a33f86ea7531d5f898a520c (patch) | |
| tree | eef312788928ad26ab5687438903bf19f6aaa207 /include | |
| parent | ffaf854b011bde97d63955a71232a20fe4382a38 (diff) | |
| parent | 53f824520b6d84ca5b4a8fd71addc91dbf64357e (diff) | |
Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86/i386: Put aligned stack-canary in percpu shared_aligned section
x86/i386: Make sure stack-protector segment base is cache aligned
x86: Detect stack protector for i386 builds on x86_64
x86: allow "=rm" in native_save_fl()
x86: properly annotate alternatives.c
x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically
x86, 32-bit: Use generic sys_pipe()
x86: Introduce GDT_ENTRY_INIT(), fix APM
x86: Introduce GDT_ENTRY_INIT()
x86: Introduce set_desc_base() and set_desc_limit()
x86: Remove unused patch_espfix_desc()
x86: Use get_desc_base()
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/percpu.h | 3 | ||||
| -rw-r--r-- | include/linux/init.h | 12 | ||||
| -rw-r--r-- | include/linux/percpu-defs.h | 8 |
3 files changed, 21 insertions, 2 deletions
diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h index aa00800adacc..90079c373f1c 100644 --- a/include/asm-generic/percpu.h +++ b/include/asm-generic/percpu.h | |||
| @@ -81,14 +81,17 @@ extern void setup_per_cpu_areas(void); | |||
| 81 | 81 | ||
| 82 | #ifdef MODULE | 82 | #ifdef MODULE |
| 83 | #define PER_CPU_SHARED_ALIGNED_SECTION "" | 83 | #define PER_CPU_SHARED_ALIGNED_SECTION "" |
| 84 | #define PER_CPU_ALIGNED_SECTION "" | ||
| 84 | #else | 85 | #else |
| 85 | #define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned" | 86 | #define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned" |
| 87 | #define PER_CPU_ALIGNED_SECTION ".shared_aligned" | ||
| 86 | #endif | 88 | #endif |
| 87 | #define PER_CPU_FIRST_SECTION ".first" | 89 | #define PER_CPU_FIRST_SECTION ".first" |
| 88 | 90 | ||
| 89 | #else | 91 | #else |
| 90 | 92 | ||
| 91 | #define PER_CPU_SHARED_ALIGNED_SECTION "" | 93 | #define PER_CPU_SHARED_ALIGNED_SECTION "" |
| 94 | #define PER_CPU_ALIGNED_SECTION ".shared_aligned" | ||
| 92 | #define PER_CPU_FIRST_SECTION "" | 95 | #define PER_CPU_FIRST_SECTION "" |
| 93 | 96 | ||
| 94 | #endif | 97 | #endif |
diff --git a/include/linux/init.h b/include/linux/init.h index 13b633ed695e..400adbb45414 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
| @@ -103,8 +103,8 @@ | |||
| 103 | #define __INIT .section ".init.text","ax" | 103 | #define __INIT .section ".init.text","ax" |
| 104 | #define __FINIT .previous | 104 | #define __FINIT .previous |
| 105 | 105 | ||
| 106 | #define __INITDATA .section ".init.data","aw" | 106 | #define __INITDATA .section ".init.data","aw",%progbits |
| 107 | #define __INITRODATA .section ".init.rodata","a" | 107 | #define __INITRODATA .section ".init.rodata","a",%progbits |
| 108 | #define __FINITDATA .previous | 108 | #define __FINITDATA .previous |
| 109 | 109 | ||
| 110 | #define __DEVINIT .section ".devinit.text", "ax" | 110 | #define __DEVINIT .section ".devinit.text", "ax" |
| @@ -305,9 +305,17 @@ void __init parse_early_options(char *cmdline); | |||
| 305 | #ifdef CONFIG_MODULES | 305 | #ifdef CONFIG_MODULES |
| 306 | #define __init_or_module | 306 | #define __init_or_module |
| 307 | #define __initdata_or_module | 307 | #define __initdata_or_module |
| 308 | #define __initconst_or_module | ||
| 309 | #define __INIT_OR_MODULE .text | ||
| 310 | #define __INITDATA_OR_MODULE .data | ||
| 311 | #define __INITRODATA_OR_MODULE .section ".rodata","a",%progbits | ||
| 308 | #else | 312 | #else |
| 309 | #define __init_or_module __init | 313 | #define __init_or_module __init |
| 310 | #define __initdata_or_module __initdata | 314 | #define __initdata_or_module __initdata |
| 315 | #define __initconst_or_module __initconst | ||
| 316 | #define __INIT_OR_MODULE __INIT | ||
| 317 | #define __INITDATA_OR_MODULE __INITDATA | ||
| 318 | #define __INITRODATA_OR_MODULE __INITRODATA | ||
| 311 | #endif /*CONFIG_MODULES*/ | 319 | #endif /*CONFIG_MODULES*/ |
| 312 | 320 | ||
| 313 | /* Functions marked as __devexit may be discarded at kernel link time, depending | 321 | /* Functions marked as __devexit may be discarded at kernel link time, depending |
diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h index 68438e18fff4..3058cf9dd3d4 100644 --- a/include/linux/percpu-defs.h +++ b/include/linux/percpu-defs.h | |||
| @@ -66,6 +66,14 @@ | |||
| 66 | DEFINE_PER_CPU_SECTION(type, name, PER_CPU_SHARED_ALIGNED_SECTION) \ | 66 | DEFINE_PER_CPU_SECTION(type, name, PER_CPU_SHARED_ALIGNED_SECTION) \ |
| 67 | ____cacheline_aligned_in_smp | 67 | ____cacheline_aligned_in_smp |
| 68 | 68 | ||
| 69 | #define DECLARE_PER_CPU_ALIGNED(type, name) \ | ||
| 70 | DECLARE_PER_CPU_SECTION(type, name, PER_CPU_ALIGNED_SECTION) \ | ||
| 71 | ____cacheline_aligned | ||
| 72 | |||
| 73 | #define DEFINE_PER_CPU_ALIGNED(type, name) \ | ||
| 74 | DEFINE_PER_CPU_SECTION(type, name, PER_CPU_ALIGNED_SECTION) \ | ||
| 75 | ____cacheline_aligned | ||
| 76 | |||
| 69 | /* | 77 | /* |
| 70 | * Declaration/definition used for per-CPU variables that must be page aligned. | 78 | * Declaration/definition used for per-CPU variables that must be page aligned. |
| 71 | */ | 79 | */ |
