diff options
-rw-r--r-- | arch/x86/kernel/setup64.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/ioremap.c | 3 | ||||
-rw-r--r-- | include/linux/linkage.h | 4 |
3 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/kernel/setup64.c b/arch/x86/kernel/setup64.c index 631ea6cc01d8..fc1a56da8240 100644 --- a/arch/x86/kernel/setup64.c +++ b/arch/x86/kernel/setup64.c | |||
@@ -40,7 +40,7 @@ EXPORT_SYMBOL(_cpu_pda); | |||
40 | 40 | ||
41 | struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table }; | 41 | struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table }; |
42 | 42 | ||
43 | char boot_cpu_stack[IRQSTACKSIZE] __attribute__((section(".bss.page_aligned"))); | 43 | char boot_cpu_stack[IRQSTACKSIZE] __page_aligned_bss; |
44 | 44 | ||
45 | unsigned long __supported_pte_mask __read_mostly = ~0UL; | 45 | unsigned long __supported_pte_mask __read_mostly = ~0UL; |
46 | EXPORT_SYMBOL_GPL(__supported_pte_mask); | 46 | EXPORT_SYMBOL_GPL(__supported_pte_mask); |
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index 416ea415f5c2..0561fde56a51 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c | |||
@@ -394,8 +394,7 @@ static int __init early_ioremap_debug_setup(char *str) | |||
394 | early_param("early_ioremap_debug", early_ioremap_debug_setup); | 394 | early_param("early_ioremap_debug", early_ioremap_debug_setup); |
395 | 395 | ||
396 | static __initdata int after_paging_init; | 396 | static __initdata int after_paging_init; |
397 | static pte_t bm_pte[PAGE_SIZE/sizeof(pte_t)] | 397 | static pte_t bm_pte[PAGE_SIZE/sizeof(pte_t)] __page_aligned_bss; |
398 | __section(.bss.page_aligned); | ||
399 | 398 | ||
400 | static inline pmd_t * __init early_ioremap_pmd(unsigned long addr) | 399 | static inline pmd_t * __init early_ioremap_pmd(unsigned long addr) |
401 | { | 400 | { |
diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 2119610b24f8..9fd1f859021b 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_LINKAGE_H | 1 | #ifndef _LINUX_LINKAGE_H |
2 | #define _LINUX_LINKAGE_H | 2 | #define _LINUX_LINKAGE_H |
3 | 3 | ||
4 | #include <linux/compiler.h> | ||
4 | #include <asm/linkage.h> | 5 | #include <asm/linkage.h> |
5 | 6 | ||
6 | #ifdef __cplusplus | 7 | #ifdef __cplusplus |
@@ -17,6 +18,9 @@ | |||
17 | # define asmregparm | 18 | # define asmregparm |
18 | #endif | 19 | #endif |
19 | 20 | ||
21 | #define __page_aligned_data __section(.data.page_aligned) __aligned(PAGE_SIZE) | ||
22 | #define __page_aligned_bss __section(.bss.page_aligned) __aligned(PAGE_SIZE) | ||
23 | |||
20 | /* | 24 | /* |
21 | * This is used by architectures to keep arguments on the stack | 25 | * This is used by architectures to keep arguments on the stack |
22 | * untouched by the compiler by keeping them live until the end. | 26 | * untouched by the compiler by keeping them live until the end. |