diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/Kconfig | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/ia64/kernel/smp.c | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/vmlinux.lds.S | 16 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 2 |
5 files changed, 20 insertions, 10 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index e6246119932a..011a1cdf0eb5 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -89,6 +89,9 @@ config GENERIC_TIME_VSYSCALL | |||
89 | bool | 89 | bool |
90 | default y | 90 | default y |
91 | 91 | ||
92 | config HAVE_LEGACY_PER_CPU_AREA | ||
93 | def_bool y | ||
94 | |||
92 | config HAVE_SETUP_PER_CPU_AREA | 95 | config HAVE_SETUP_PER_CPU_AREA |
93 | def_bool y | 96 | def_bool y |
94 | 97 | ||
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 1b23ec126b63..1de86c96801d 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -855,11 +855,17 @@ identify_cpu (struct cpuinfo_ia64 *c) | |||
855 | c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1)); | 855 | c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1)); |
856 | } | 856 | } |
857 | 857 | ||
858 | /* | ||
859 | * In UP configuration, setup_per_cpu_areas() is defined in | ||
860 | * include/linux/percpu.h | ||
861 | */ | ||
862 | #ifdef CONFIG_SMP | ||
858 | void __init | 863 | void __init |
859 | setup_per_cpu_areas (void) | 864 | setup_per_cpu_areas (void) |
860 | { | 865 | { |
861 | /* start_kernel() requires this... */ | 866 | /* start_kernel() requires this... */ |
862 | } | 867 | } |
868 | #endif | ||
863 | 869 | ||
864 | /* | 870 | /* |
865 | * Do the following calculations: | 871 | * Do the following calculations: |
diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c index f0c521b0ba4c..93ebfea43c6c 100644 --- a/arch/ia64/kernel/smp.c +++ b/arch/ia64/kernel/smp.c | |||
@@ -58,7 +58,8 @@ static struct local_tlb_flush_counts { | |||
58 | unsigned int count; | 58 | unsigned int count; |
59 | } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS]; | 59 | } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS]; |
60 | 60 | ||
61 | static DEFINE_PER_CPU(unsigned short, shadow_flush_counts[NR_CPUS]) ____cacheline_aligned; | 61 | static DEFINE_PER_CPU_SHARED_ALIGNED(unsigned short [NR_CPUS], |
62 | shadow_flush_counts); | ||
62 | 63 | ||
63 | #define IPI_CALL_FUNC 0 | 64 | #define IPI_CALL_FUNC 0 |
64 | #define IPI_CPU_STOP 1 | 65 | #define IPI_CPU_STOP 1 |
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index 4a95e86b9ac2..eb4214d1c5af 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
@@ -24,14 +24,14 @@ PHDRS { | |||
24 | } | 24 | } |
25 | SECTIONS | 25 | SECTIONS |
26 | { | 26 | { |
27 | /* Sections to be discarded */ | 27 | /* unwind exit sections must be discarded before the rest of the |
28 | sections get included. */ | ||
28 | /DISCARD/ : { | 29 | /DISCARD/ : { |
29 | EXIT_TEXT | ||
30 | EXIT_DATA | ||
31 | *(.exitcall.exit) | ||
32 | *(.IA_64.unwind.exit.text) | 30 | *(.IA_64.unwind.exit.text) |
33 | *(.IA_64.unwind_info.exit.text) | 31 | *(.IA_64.unwind_info.exit.text) |
34 | } | 32 | *(.comment) |
33 | *(.note) | ||
34 | } | ||
35 | 35 | ||
36 | v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */ | 36 | v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */ |
37 | phys_start = _start - LOAD_OFFSET; | 37 | phys_start = _start - LOAD_OFFSET; |
@@ -316,7 +316,7 @@ SECTIONS | |||
316 | .debug_funcnames 0 : { *(.debug_funcnames) } | 316 | .debug_funcnames 0 : { *(.debug_funcnames) } |
317 | .debug_typenames 0 : { *(.debug_typenames) } | 317 | .debug_typenames 0 : { *(.debug_typenames) } |
318 | .debug_varnames 0 : { *(.debug_varnames) } | 318 | .debug_varnames 0 : { *(.debug_varnames) } |
319 | /* These must appear regardless of . */ | 319 | |
320 | /DISCARD/ : { *(.comment) } | 320 | /* Default discards */ |
321 | /DISCARD/ : { *(.note) } | 321 | DISCARDS |
322 | } | 322 | } |
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index e456f062f241..ece1bf994499 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -71,7 +71,7 @@ EXPORT_SYMBOL(sn_rtc_cycles_per_second); | |||
71 | DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info); | 71 | DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info); |
72 | EXPORT_PER_CPU_SYMBOL(__sn_hub_info); | 72 | EXPORT_PER_CPU_SYMBOL(__sn_hub_info); |
73 | 73 | ||
74 | DEFINE_PER_CPU(short, __sn_cnodeid_to_nasid[MAX_COMPACT_NODES]); | 74 | DEFINE_PER_CPU(short [MAX_COMPACT_NODES], __sn_cnodeid_to_nasid); |
75 | EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid); | 75 | EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid); |
76 | 76 | ||
77 | DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda); | 77 | DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda); |