aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r--arch/ia64/kernel/acpi.c7
-rw-r--r--arch/ia64/kernel/asm-offsets.c4
-rw-r--r--arch/ia64/kernel/efi.c1
-rw-r--r--arch/ia64/kernel/fsys.S3
-rw-r--r--arch/ia64/kernel/fsyscall_gtod_data.h2
-rw-r--r--arch/ia64/kernel/gate.S3
-rw-r--r--arch/ia64/kernel/gate.lds.S3
-rw-r--r--arch/ia64/kernel/head.S1
-rw-r--r--arch/ia64/kernel/iosapic.c1
-rw-r--r--arch/ia64/kernel/irq_ia64.c9
-rw-r--r--arch/ia64/kernel/ivt.S1
-rw-r--r--arch/ia64/kernel/machvec.c1
-rw-r--r--arch/ia64/kernel/mca.c7
-rw-r--r--arch/ia64/kernel/mca_drv.c1
-rw-r--r--arch/ia64/kernel/msi_ia64.c4
-rw-r--r--arch/ia64/kernel/patch.c1
-rw-r--r--arch/ia64/kernel/pci-dma.c1
-rw-r--r--arch/ia64/kernel/perfmon.c1
-rw-r--r--arch/ia64/kernel/process.c1
-rw-r--r--arch/ia64/kernel/ptrace.c1
-rw-r--r--arch/ia64/kernel/setup.c3
-rw-r--r--arch/ia64/kernel/smp.c3
-rw-r--r--arch/ia64/kernel/smpboot.c20
-rw-r--r--arch/ia64/kernel/time.c11
-rw-r--r--arch/ia64/kernel/topology.c3
-rw-r--r--arch/ia64/kernel/traps.c1
-rw-r--r--arch/ia64/kernel/uncached.c1
-rw-r--r--arch/ia64/kernel/unwind.c1
-rw-r--r--arch/ia64/kernel/vmlinux.lds.S1
29 files changed, 37 insertions, 60 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 2d801bfe16ac..ac795d311f44 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -50,7 +50,6 @@
50#include <asm/iosapic.h> 50#include <asm/iosapic.h>
51#include <asm/machvec.h> 51#include <asm/machvec.h>
52#include <asm/page.h> 52#include <asm/page.h>
53#include <asm/system.h>
54#include <asm/numa.h> 53#include <asm/numa.h>
55#include <asm/sal.h> 54#include <asm/sal.h>
56#include <asm/cyclone.h> 55#include <asm/cyclone.h>
@@ -844,7 +843,7 @@ early_param("additional_cpus", setup_additional_cpus);
844 * are onlined, or offlined. The reason is per-cpu data-structures 843 * are onlined, or offlined. The reason is per-cpu data-structures
845 * are allocated by some modules at init time, and dont expect to 844 * are allocated by some modules at init time, and dont expect to
846 * do this dynamically on cpu arrival/departure. 845 * do this dynamically on cpu arrival/departure.
847 * cpu_present_map on the other hand can change dynamically. 846 * cpu_present_mask on the other hand can change dynamically.
848 * In case when cpu_hotplug is not compiled, then we resort to current 847 * In case when cpu_hotplug is not compiled, then we resort to current
849 * behaviour, which is cpu_possible == cpu_present. 848 * behaviour, which is cpu_possible == cpu_present.
850 * - Ashok Raj 849 * - Ashok Raj
@@ -922,7 +921,7 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu)
922 921
923 acpi_map_cpu2node(handle, cpu, physid); 922 acpi_map_cpu2node(handle, cpu, physid);
924 923
925 cpu_set(cpu, cpu_present_map); 924 set_cpu_present(cpu, true);
926 ia64_cpu_to_sapicid[cpu] = physid; 925 ia64_cpu_to_sapicid[cpu] = physid;
927 926
928 acpi_processor_set_pdc(handle); 927 acpi_processor_set_pdc(handle);
@@ -941,7 +940,7 @@ EXPORT_SYMBOL(acpi_map_lsapic);
941int acpi_unmap_lsapic(int cpu) 940int acpi_unmap_lsapic(int cpu)
942{ 941{
943 ia64_cpu_to_sapicid[cpu] = -1; 942 ia64_cpu_to_sapicid[cpu] = -1;
944 cpu_clear(cpu, cpu_present_map); 943 set_cpu_present(cpu, false);
945 944
946#ifdef CONFIG_ACPI_NUMA 945#ifdef CONFIG_ACPI_NUMA
947 /* NUMA specific cleanup's */ 946 /* NUMA specific cleanup's */
diff --git a/arch/ia64/kernel/asm-offsets.c b/arch/ia64/kernel/asm-offsets.c
index af5650169043..a48bd9a9927b 100644
--- a/arch/ia64/kernel/asm-offsets.c
+++ b/arch/ia64/kernel/asm-offsets.c
@@ -269,8 +269,8 @@ void foo(void)
269 BLANK(); 269 BLANK();
270 270
271 /* used by fsys_gettimeofday in arch/ia64/kernel/fsys.S */ 271 /* used by fsys_gettimeofday in arch/ia64/kernel/fsys.S */
272 DEFINE(IA64_GTOD_LOCK_OFFSET, 272 DEFINE(IA64_GTOD_SEQ_OFFSET,
273 offsetof (struct fsyscall_gtod_data_t, lock)); 273 offsetof (struct fsyscall_gtod_data_t, seq));
274 DEFINE(IA64_GTOD_WALL_TIME_OFFSET, 274 DEFINE(IA64_GTOD_WALL_TIME_OFFSET,
275 offsetof (struct fsyscall_gtod_data_t, wall_time)); 275 offsetof (struct fsyscall_gtod_data_t, wall_time));
276 DEFINE(IA64_GTOD_MONO_TIME_OFFSET, 276 DEFINE(IA64_GTOD_MONO_TIME_OFFSET,
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c
index c38d22e5e902..d37bbd48637f 100644
--- a/arch/ia64/kernel/efi.c
+++ b/arch/ia64/kernel/efi.c
@@ -39,6 +39,7 @@
39#include <asm/pgtable.h> 39#include <asm/pgtable.h>
40#include <asm/processor.h> 40#include <asm/processor.h>
41#include <asm/mca.h> 41#include <asm/mca.h>
42#include <asm/setup.h>
42#include <asm/tlbflush.h> 43#include <asm/tlbflush.h>
43 44
44#define EFI_DEBUG 0 45#define EFI_DEBUG 0
diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S
index 331d42bda77a..cc26edac0ec6 100644
--- a/arch/ia64/kernel/fsys.S
+++ b/arch/ia64/kernel/fsys.S
@@ -21,7 +21,6 @@
21#include <asm/thread_info.h> 21#include <asm/thread_info.h>
22#include <asm/sal.h> 22#include <asm/sal.h>
23#include <asm/signal.h> 23#include <asm/signal.h>
24#include <asm/system.h>
25#include <asm/unistd.h> 24#include <asm/unistd.h>
26 25
27#include "entry.h" 26#include "entry.h"
@@ -174,7 +173,7 @@ ENTRY(fsys_set_tid_address)
174 FSYS_RETURN 173 FSYS_RETURN
175END(fsys_set_tid_address) 174END(fsys_set_tid_address)
176 175
177#if IA64_GTOD_LOCK_OFFSET !=0 176#if IA64_GTOD_SEQ_OFFSET !=0
178#error fsys_gettimeofday incompatible with changes to struct fsyscall_gtod_data_t 177#error fsys_gettimeofday incompatible with changes to struct fsyscall_gtod_data_t
179#endif 178#endif
180#if IA64_ITC_JITTER_OFFSET !=0 179#if IA64_ITC_JITTER_OFFSET !=0
diff --git a/arch/ia64/kernel/fsyscall_gtod_data.h b/arch/ia64/kernel/fsyscall_gtod_data.h
index 57d2ee6c83e1..146b15b5fec3 100644
--- a/arch/ia64/kernel/fsyscall_gtod_data.h
+++ b/arch/ia64/kernel/fsyscall_gtod_data.h
@@ -6,7 +6,7 @@
6 */ 6 */
7 7
8struct fsyscall_gtod_data_t { 8struct fsyscall_gtod_data_t {
9 seqlock_t lock; 9 seqcount_t seq;
10 struct timespec wall_time; 10 struct timespec wall_time;
11 struct timespec monotonic_time; 11 struct timespec monotonic_time;
12 cycle_t clk_mask; 12 cycle_t clk_mask;
diff --git a/arch/ia64/kernel/gate.S b/arch/ia64/kernel/gate.S
index 245d3e1ec7e1..b5f8bdd8618e 100644
--- a/arch/ia64/kernel/gate.S
+++ b/arch/ia64/kernel/gate.S
@@ -11,8 +11,9 @@
11#include <asm/errno.h> 11#include <asm/errno.h>
12#include <asm/asm-offsets.h> 12#include <asm/asm-offsets.h>
13#include <asm/sigcontext.h> 13#include <asm/sigcontext.h>
14#include <asm/system.h>
15#include <asm/unistd.h> 14#include <asm/unistd.h>
15#include <asm/kregs.h>
16#include <asm/page.h>
16#include "paravirt_inst.h" 17#include "paravirt_inst.h"
17 18
18/* 19/*
diff --git a/arch/ia64/kernel/gate.lds.S b/arch/ia64/kernel/gate.lds.S
index d32b0855110a..e518f7902af6 100644
--- a/arch/ia64/kernel/gate.lds.S
+++ b/arch/ia64/kernel/gate.lds.S
@@ -5,8 +5,7 @@
5 * its layout. 5 * its layout.
6 */ 6 */
7 7
8 8#include <asm/page.h>
9#include <asm/system.h>
10#include "paravirt_patchlist.h" 9#include "paravirt_patchlist.h"
11 10
12SECTIONS 11SECTIONS
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S
index 17a9fba38930..629a250f7c19 100644
--- a/arch/ia64/kernel/head.S
+++ b/arch/ia64/kernel/head.S
@@ -30,7 +30,6 @@
30#include <asm/pgtable.h> 30#include <asm/pgtable.h>
31#include <asm/processor.h> 31#include <asm/processor.h>
32#include <asm/ptrace.h> 32#include <asm/ptrace.h>
33#include <asm/system.h>
34#include <asm/mca_asm.h> 33#include <asm/mca_asm.h>
35#include <linux/init.h> 34#include <linux/init.h>
36#include <linux/linkage.h> 35#include <linux/linkage.h>
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c
index b0f9afebb146..ef4b5d877cf2 100644
--- a/arch/ia64/kernel/iosapic.c
+++ b/arch/ia64/kernel/iosapic.c
@@ -98,7 +98,6 @@
98#include <asm/machvec.h> 98#include <asm/machvec.h>
99#include <asm/processor.h> 99#include <asm/processor.h>
100#include <asm/ptrace.h> 100#include <asm/ptrace.h>
101#include <asm/system.h>
102 101
103#undef DEBUG_INTERRUPT_ROUTING 102#undef DEBUG_INTERRUPT_ROUTING
104 103
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 782c3a357f24..5c3e0888265a 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -39,7 +39,6 @@
39#include <asm/hw_irq.h> 39#include <asm/hw_irq.h>
40#include <asm/machvec.h> 40#include <asm/machvec.h>
41#include <asm/pgtable.h> 41#include <asm/pgtable.h>
42#include <asm/system.h>
43#include <asm/tlbflush.h> 42#include <asm/tlbflush.h>
44 43
45#ifdef CONFIG_PERFMON 44#ifdef CONFIG_PERFMON
@@ -118,7 +117,7 @@ static inline int find_unassigned_vector(cpumask_t domain)
118 cpumask_t mask; 117 cpumask_t mask;
119 int pos, vector; 118 int pos, vector;
120 119
121 cpus_and(mask, domain, cpu_online_map); 120 cpumask_and(&mask, &domain, cpu_online_mask);
122 if (cpus_empty(mask)) 121 if (cpus_empty(mask))
123 return -EINVAL; 122 return -EINVAL;
124 123
@@ -141,7 +140,7 @@ static int __bind_irq_vector(int irq, int vector, cpumask_t domain)
141 BUG_ON((unsigned)irq >= NR_IRQS); 140 BUG_ON((unsigned)irq >= NR_IRQS);
142 BUG_ON((unsigned)vector >= IA64_NUM_VECTORS); 141 BUG_ON((unsigned)vector >= IA64_NUM_VECTORS);
143 142
144 cpus_and(mask, domain, cpu_online_map); 143 cpumask_and(&mask, &domain, cpu_online_mask);
145 if (cpus_empty(mask)) 144 if (cpus_empty(mask))
146 return -EINVAL; 145 return -EINVAL;
147 if ((cfg->vector == vector) && cpus_equal(cfg->domain, domain)) 146 if ((cfg->vector == vector) && cpus_equal(cfg->domain, domain))
@@ -179,7 +178,7 @@ static void __clear_irq_vector(int irq)
179 BUG_ON(cfg->vector == IRQ_VECTOR_UNASSIGNED); 178 BUG_ON(cfg->vector == IRQ_VECTOR_UNASSIGNED);
180 vector = cfg->vector; 179 vector = cfg->vector;
181 domain = cfg->domain; 180 domain = cfg->domain;
182 cpus_and(mask, cfg->domain, cpu_online_map); 181 cpumask_and(&mask, &cfg->domain, cpu_online_mask);
183 for_each_cpu_mask(cpu, mask) 182 for_each_cpu_mask(cpu, mask)
184 per_cpu(vector_irq, cpu)[vector] = -1; 183 per_cpu(vector_irq, cpu)[vector] = -1;
185 cfg->vector = IRQ_VECTOR_UNASSIGNED; 184 cfg->vector = IRQ_VECTOR_UNASSIGNED;
@@ -322,7 +321,7 @@ void irq_complete_move(unsigned irq)
322 if (unlikely(cpu_isset(smp_processor_id(), cfg->old_domain))) 321 if (unlikely(cpu_isset(smp_processor_id(), cfg->old_domain)))
323 return; 322 return;
324 323
325 cpus_and(cleanup_mask, cfg->old_domain, cpu_online_map); 324 cpumask_and(&cleanup_mask, &cfg->old_domain, cpu_online_mask);
326 cfg->move_cleanup_count = cpus_weight(cleanup_mask); 325 cfg->move_cleanup_count = cpus_weight(cleanup_mask);
327 for_each_cpu_mask(i, cleanup_mask) 326 for_each_cpu_mask(i, cleanup_mask)
328 platform_send_ipi(i, IA64_IRQ_MOVE_VECTOR, IA64_IPI_DM_INT, 0); 327 platform_send_ipi(i, IA64_IRQ_MOVE_VECTOR, IA64_IPI_DM_INT, 0);
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S
index d93e396bf599..fa25689fc453 100644
--- a/arch/ia64/kernel/ivt.S
+++ b/arch/ia64/kernel/ivt.S
@@ -54,7 +54,6 @@
54#include <asm/pgtable.h> 54#include <asm/pgtable.h>
55#include <asm/processor.h> 55#include <asm/processor.h>
56#include <asm/ptrace.h> 56#include <asm/ptrace.h>
57#include <asm/system.h>
58#include <asm/thread_info.h> 57#include <asm/thread_info.h>
59#include <asm/unistd.h> 58#include <asm/unistd.h>
60#include <asm/errno.h> 59#include <asm/errno.h>
diff --git a/arch/ia64/kernel/machvec.c b/arch/ia64/kernel/machvec.c
index d41a40ef80c0..f5a1e5246b3e 100644
--- a/arch/ia64/kernel/machvec.c
+++ b/arch/ia64/kernel/machvec.c
@@ -1,7 +1,6 @@
1#include <linux/module.h> 1#include <linux/module.h>
2#include <linux/dma-mapping.h> 2#include <linux/dma-mapping.h>
3#include <asm/machvec.h> 3#include <asm/machvec.h>
4#include <asm/system.h>
5 4
6#ifdef CONFIG_IA64_GENERIC 5#ifdef CONFIG_IA64_GENERIC
7 6
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index 8192009cb924..65bf9cd39044 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -92,7 +92,6 @@
92#include <asm/meminit.h> 92#include <asm/meminit.h>
93#include <asm/page.h> 93#include <asm/page.h>
94#include <asm/ptrace.h> 94#include <asm/ptrace.h>
95#include <asm/system.h>
96#include <asm/sal.h> 95#include <asm/sal.h>
97#include <asm/mca.h> 96#include <asm/mca.h>
98#include <asm/kexec.h> 97#include <asm/kexec.h>
@@ -1515,7 +1514,8 @@ static void
1515ia64_mca_cmc_poll (unsigned long dummy) 1514ia64_mca_cmc_poll (unsigned long dummy)
1516{ 1515{
1517 /* Trigger a CMC interrupt cascade */ 1516 /* Trigger a CMC interrupt cascade */
1518 platform_send_ipi(first_cpu(cpu_online_map), IA64_CMCP_VECTOR, IA64_IPI_DM_INT, 0); 1517 platform_send_ipi(cpumask_first(cpu_online_mask), IA64_CMCP_VECTOR,
1518 IA64_IPI_DM_INT, 0);
1519} 1519}
1520 1520
1521/* 1521/*
@@ -1591,7 +1591,8 @@ static void
1591ia64_mca_cpe_poll (unsigned long dummy) 1591ia64_mca_cpe_poll (unsigned long dummy)
1592{ 1592{
1593 /* Trigger a CPE interrupt cascade */ 1593 /* Trigger a CPE interrupt cascade */
1594 platform_send_ipi(first_cpu(cpu_online_map), IA64_CPEP_VECTOR, IA64_IPI_DM_INT, 0); 1594 platform_send_ipi(cpumask_first(cpu_online_mask), IA64_CPEP_VECTOR,
1595 IA64_IPI_DM_INT, 0);
1595} 1596}
1596 1597
1597#endif /* CONFIG_ACPI */ 1598#endif /* CONFIG_ACPI */
diff --git a/arch/ia64/kernel/mca_drv.c b/arch/ia64/kernel/mca_drv.c
index 09b4d6828c45..1c2e89406721 100644
--- a/arch/ia64/kernel/mca_drv.c
+++ b/arch/ia64/kernel/mca_drv.c
@@ -28,7 +28,6 @@
28#include <asm/machvec.h> 28#include <asm/machvec.h>
29#include <asm/page.h> 29#include <asm/page.h>
30#include <asm/ptrace.h> 30#include <asm/ptrace.h>
31#include <asm/system.h>
32#include <asm/sal.h> 31#include <asm/sal.h>
33#include <asm/mca.h> 32#include <asm/mca.h>
34 33
diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
index 94e0db72d4a6..fb2f1e622877 100644
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
@@ -57,7 +57,7 @@ int ia64_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
57 return irq; 57 return irq;
58 58
59 irq_set_msi_desc(irq, desc); 59 irq_set_msi_desc(irq, desc);
60 cpus_and(mask, irq_to_domain(irq), cpu_online_map); 60 cpumask_and(&mask, &(irq_to_domain(irq)), cpu_online_mask);
61 dest_phys_id = cpu_physical_id(first_cpu(mask)); 61 dest_phys_id = cpu_physical_id(first_cpu(mask));
62 vector = irq_to_vector(irq); 62 vector = irq_to_vector(irq);
63 63
@@ -179,7 +179,7 @@ msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_msg *msg)
179 unsigned dest; 179 unsigned dest;
180 cpumask_t mask; 180 cpumask_t mask;
181 181
182 cpus_and(mask, irq_to_domain(irq), cpu_online_map); 182 cpumask_and(&mask, &(irq_to_domain(irq)), cpu_online_mask);
183 dest = cpu_physical_id(first_cpu(mask)); 183 dest = cpu_physical_id(first_cpu(mask));
184 184
185 msg->address_hi = 0; 185 msg->address_hi = 0;
diff --git a/arch/ia64/kernel/patch.c b/arch/ia64/kernel/patch.c
index 68a1311db806..1cf091793714 100644
--- a/arch/ia64/kernel/patch.c
+++ b/arch/ia64/kernel/patch.c
@@ -11,7 +11,6 @@
11#include <asm/patch.h> 11#include <asm/patch.h>
12#include <asm/processor.h> 12#include <asm/processor.h>
13#include <asm/sections.h> 13#include <asm/sections.h>
14#include <asm/system.h>
15#include <asm/unistd.h> 14#include <asm/unistd.h>
16 15
17/* 16/*
diff --git a/arch/ia64/kernel/pci-dma.c b/arch/ia64/kernel/pci-dma.c
index eb1175720050..7cdc89b2483c 100644
--- a/arch/ia64/kernel/pci-dma.c
+++ b/arch/ia64/kernel/pci-dma.c
@@ -12,7 +12,6 @@
12#include <asm/machvec.h> 12#include <asm/machvec.h>
13#include <linux/dma-mapping.h> 13#include <linux/dma-mapping.h>
14 14
15#include <asm/system.h>
16 15
17#ifdef CONFIG_INTEL_IOMMU 16#ifdef CONFIG_INTEL_IOMMU
18 17
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index b2c65e034f5d..9d0fd7d5bb82 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -49,7 +49,6 @@
49#include <asm/perfmon.h> 49#include <asm/perfmon.h>
50#include <asm/processor.h> 50#include <asm/processor.h>
51#include <asm/signal.h> 51#include <asm/signal.h>
52#include <asm/system.h>
53#include <asm/uaccess.h> 52#include <asm/uaccess.h>
54#include <asm/delay.h> 53#include <asm/delay.h>
55 54
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 9dc52b63fc87..ce74e143aea3 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -38,6 +38,7 @@
38#include <asm/pgalloc.h> 38#include <asm/pgalloc.h>
39#include <asm/processor.h> 39#include <asm/processor.h>
40#include <asm/sal.h> 40#include <asm/sal.h>
41#include <asm/switch_to.h>
41#include <asm/tlbflush.h> 42#include <asm/tlbflush.h>
42#include <asm/uaccess.h> 43#include <asm/uaccess.h>
43#include <asm/unwind.h> 44#include <asm/unwind.h>
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c
index dad91661ddf9..4265ff64219b 100644
--- a/arch/ia64/kernel/ptrace.c
+++ b/arch/ia64/kernel/ptrace.c
@@ -26,7 +26,6 @@
26#include <asm/processor.h> 26#include <asm/processor.h>
27#include <asm/ptrace_offsets.h> 27#include <asm/ptrace_offsets.h>
28#include <asm/rse.h> 28#include <asm/rse.h>
29#include <asm/system.h>
30#include <asm/uaccess.h> 29#include <asm/uaccess.h>
31#include <asm/unwind.h> 30#include <asm/unwind.h>
32#ifdef CONFIG_PERFMON 31#ifdef CONFIG_PERFMON
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
index cd57d7312de0..aaefd9b94f2f 100644
--- a/arch/ia64/kernel/setup.c
+++ b/arch/ia64/kernel/setup.c
@@ -59,7 +59,6 @@
59#include <asm/sections.h> 59#include <asm/sections.h>
60#include <asm/setup.h> 60#include <asm/setup.h>
61#include <asm/smp.h> 61#include <asm/smp.h>
62#include <asm/system.h>
63#include <asm/tlbflush.h> 62#include <asm/tlbflush.h>
64#include <asm/unistd.h> 63#include <asm/unistd.h>
65#include <asm/hpsim.h> 64#include <asm/hpsim.h>
@@ -486,7 +485,7 @@ mark_bsp_online (void)
486{ 485{
487#ifdef CONFIG_SMP 486#ifdef CONFIG_SMP
488 /* If we register an early console, allow CPU 0 to printk */ 487 /* If we register an early console, allow CPU 0 to printk */
489 cpu_set(smp_processor_id(), cpu_online_map); 488 set_cpu_online(smp_processor_id(), true);
490#endif 489#endif
491} 490}
492 491
diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c
index 0bd537b4ea6b..9fcd4e63048f 100644
--- a/arch/ia64/kernel/smp.c
+++ b/arch/ia64/kernel/smp.c
@@ -44,7 +44,6 @@
44#include <asm/processor.h> 44#include <asm/processor.h>
45#include <asm/ptrace.h> 45#include <asm/ptrace.h>
46#include <asm/sal.h> 46#include <asm/sal.h>
47#include <asm/system.h>
48#include <asm/tlbflush.h> 47#include <asm/tlbflush.h>
49#include <asm/unistd.h> 48#include <asm/unistd.h>
50#include <asm/mca.h> 49#include <asm/mca.h>
@@ -77,7 +76,7 @@ stop_this_cpu(void)
77 /* 76 /*
78 * Remove this CPU: 77 * Remove this CPU:
79 */ 78 */
80 cpu_clear(smp_processor_id(), cpu_online_map); 79 set_cpu_online(smp_processor_id(), false);
81 max_xtp(); 80 max_xtp();
82 local_irq_disable(); 81 local_irq_disable();
83 cpu_halt(); 82 cpu_halt();
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
index 559097986672..796f6a5b966a 100644
--- a/arch/ia64/kernel/smpboot.c
+++ b/arch/ia64/kernel/smpboot.c
@@ -55,7 +55,6 @@
55#include <asm/processor.h> 55#include <asm/processor.h>
56#include <asm/ptrace.h> 56#include <asm/ptrace.h>
57#include <asm/sal.h> 57#include <asm/sal.h>
58#include <asm/system.h>
59#include <asm/tlbflush.h> 58#include <asm/tlbflush.h>
60#include <asm/unistd.h> 59#include <asm/unistd.h>
61#include <asm/sn/arch.h> 60#include <asm/sn/arch.h>
@@ -401,7 +400,7 @@ smp_callin (void)
401 /* Setup the per cpu irq handling data structures */ 400 /* Setup the per cpu irq handling data structures */
402 __setup_vector_irq(cpuid); 401 __setup_vector_irq(cpuid);
403 notify_cpu_starting(cpuid); 402 notify_cpu_starting(cpuid);
404 cpu_set(cpuid, cpu_online_map); 403 set_cpu_online(cpuid, true);
405 per_cpu(cpu_state, cpuid) = CPU_ONLINE; 404 per_cpu(cpu_state, cpuid) = CPU_ONLINE;
406 spin_unlock(&vector_lock); 405 spin_unlock(&vector_lock);
407 ipi_call_unlock_irq(); 406 ipi_call_unlock_irq();
@@ -548,7 +547,7 @@ do_rest:
548 if (!cpu_isset(cpu, cpu_callin_map)) { 547 if (!cpu_isset(cpu, cpu_callin_map)) {
549 printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid); 548 printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid);
550 ia64_cpu_to_sapicid[cpu] = -1; 549 ia64_cpu_to_sapicid[cpu] = -1;
551 cpu_clear(cpu, cpu_online_map); /* was set in smp_callin() */ 550 set_cpu_online(cpu, false); /* was set in smp_callin() */
552 return -EINVAL; 551 return -EINVAL;
553 } 552 }
554 return 0; 553 return 0;
@@ -578,8 +577,7 @@ smp_build_cpu_map (void)
578 } 577 }
579 578
580 ia64_cpu_to_sapicid[0] = boot_cpu_id; 579 ia64_cpu_to_sapicid[0] = boot_cpu_id;
581 cpus_clear(cpu_present_map); 580 init_cpu_present(cpumask_of(0));
582 set_cpu_present(0, true);
583 set_cpu_possible(0, true); 581 set_cpu_possible(0, true);
584 for (cpu = 1, i = 0; i < smp_boot_data.cpu_count; i++) { 582 for (cpu = 1, i = 0; i < smp_boot_data.cpu_count; i++) {
585 sapicid = smp_boot_data.cpu_phys_id[i]; 583 sapicid = smp_boot_data.cpu_phys_id[i];
@@ -606,10 +604,6 @@ smp_prepare_cpus (unsigned int max_cpus)
606 604
607 smp_setup_percpu_timer(); 605 smp_setup_percpu_timer();
608 606
609 /*
610 * We have the boot CPU online for sure.
611 */
612 cpu_set(0, cpu_online_map);
613 cpu_set(0, cpu_callin_map); 607 cpu_set(0, cpu_callin_map);
614 608
615 local_cpu_data->loops_per_jiffy = loops_per_jiffy; 609 local_cpu_data->loops_per_jiffy = loops_per_jiffy;
@@ -633,7 +627,7 @@ smp_prepare_cpus (unsigned int max_cpus)
633 627
634void __devinit smp_prepare_boot_cpu(void) 628void __devinit smp_prepare_boot_cpu(void)
635{ 629{
636 cpu_set(smp_processor_id(), cpu_online_map); 630 set_cpu_online(smp_processor_id(), true);
637 cpu_set(smp_processor_id(), cpu_callin_map); 631 cpu_set(smp_processor_id(), cpu_callin_map);
638 set_numa_node(cpu_to_node_map[smp_processor_id()]); 632 set_numa_node(cpu_to_node_map[smp_processor_id()]);
639 per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE; 633 per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
@@ -690,7 +684,7 @@ int migrate_platform_irqs(unsigned int cpu)
690 /* 684 /*
691 * Now re-target the CPEI to a different processor 685 * Now re-target the CPEI to a different processor
692 */ 686 */
693 new_cpei_cpu = any_online_cpu(cpu_online_map); 687 new_cpei_cpu = cpumask_any(cpu_online_mask);
694 mask = cpumask_of(new_cpei_cpu); 688 mask = cpumask_of(new_cpei_cpu);
695 set_cpei_target_cpu(new_cpei_cpu); 689 set_cpei_target_cpu(new_cpei_cpu);
696 data = irq_get_irq_data(ia64_cpe_irq); 690 data = irq_get_irq_data(ia64_cpe_irq);
@@ -732,10 +726,10 @@ int __cpu_disable(void)
732 return -EBUSY; 726 return -EBUSY;
733 } 727 }
734 728
735 cpu_clear(cpu, cpu_online_map); 729 set_cpu_online(cpu, false);
736 730
737 if (migrate_platform_irqs(cpu)) { 731 if (migrate_platform_irqs(cpu)) {
738 cpu_set(cpu, cpu_online_map); 732 set_cpu_online(cpu, true);
739 return -EBUSY; 733 return -EBUSY;
740 } 734 }
741 735
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index 43920de425f1..ecc904b33c5f 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -29,15 +29,12 @@
29#include <asm/ptrace.h> 29#include <asm/ptrace.h>
30#include <asm/sal.h> 30#include <asm/sal.h>
31#include <asm/sections.h> 31#include <asm/sections.h>
32#include <asm/system.h>
33 32
34#include "fsyscall_gtod_data.h" 33#include "fsyscall_gtod_data.h"
35 34
36static cycle_t itc_get_cycles(struct clocksource *cs); 35static cycle_t itc_get_cycles(struct clocksource *cs);
37 36
38struct fsyscall_gtod_data_t fsyscall_gtod_data = { 37struct fsyscall_gtod_data_t fsyscall_gtod_data;
39 .lock = __SEQLOCK_UNLOCKED(fsyscall_gtod_data.lock),
40};
41 38
42struct itc_jitter_data_t itc_jitter_data; 39struct itc_jitter_data_t itc_jitter_data;
43 40
@@ -460,9 +457,7 @@ void update_vsyscall_tz(void)
460void update_vsyscall(struct timespec *wall, struct timespec *wtm, 457void update_vsyscall(struct timespec *wall, struct timespec *wtm,
461 struct clocksource *c, u32 mult) 458 struct clocksource *c, u32 mult)
462{ 459{
463 unsigned long flags; 460 write_seqcount_begin(&fsyscall_gtod_data.seq);
464
465 write_seqlock_irqsave(&fsyscall_gtod_data.lock, flags);
466 461
467 /* copy fsyscall clock data */ 462 /* copy fsyscall clock data */
468 fsyscall_gtod_data.clk_mask = c->mask; 463 fsyscall_gtod_data.clk_mask = c->mask;
@@ -485,6 +480,6 @@ void update_vsyscall(struct timespec *wall, struct timespec *wtm,
485 fsyscall_gtod_data.monotonic_time.tv_sec++; 480 fsyscall_gtod_data.monotonic_time.tv_sec++;
486 } 481 }
487 482
488 write_sequnlock_irqrestore(&fsyscall_gtod_data.lock, flags); 483 write_seqcount_end(&fsyscall_gtod_data.seq);
489} 484}
490 485
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c
index 9deb21dbf629..c64460b9c704 100644
--- a/arch/ia64/kernel/topology.c
+++ b/arch/ia64/kernel/topology.c
@@ -220,7 +220,8 @@ static ssize_t show_shared_cpu_map(struct cache_info *this_leaf, char *buf)
220 ssize_t len; 220 ssize_t len;
221 cpumask_t shared_cpu_map; 221 cpumask_t shared_cpu_map;
222 222
223 cpus_and(shared_cpu_map, this_leaf->shared_cpu_map, cpu_online_map); 223 cpumask_and(&shared_cpu_map,
224 &this_leaf->shared_cpu_map, cpu_online_mask);
224 len = cpumask_scnprintf(buf, NR_CPUS+1, &shared_cpu_map); 225 len = cpumask_scnprintf(buf, NR_CPUS+1, &shared_cpu_map);
225 len += sprintf(buf+len, "\n"); 226 len += sprintf(buf+len, "\n");
226 return len; 227 return len;
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c
index fd80e70018a9..bd42b76000d1 100644
--- a/arch/ia64/kernel/traps.c
+++ b/arch/ia64/kernel/traps.c
@@ -22,6 +22,7 @@
22#include <asm/intrinsics.h> 22#include <asm/intrinsics.h>
23#include <asm/processor.h> 23#include <asm/processor.h>
24#include <asm/uaccess.h> 24#include <asm/uaccess.h>
25#include <asm/setup.h>
25 26
26fpswa_interface_t *fpswa_interface; 27fpswa_interface_t *fpswa_interface;
27EXPORT_SYMBOL(fpswa_interface); 28EXPORT_SYMBOL(fpswa_interface);
diff --git a/arch/ia64/kernel/uncached.c b/arch/ia64/kernel/uncached.c
index 6a867dc45c05..a96bcf83a735 100644
--- a/arch/ia64/kernel/uncached.c
+++ b/arch/ia64/kernel/uncached.c
@@ -23,7 +23,6 @@
23#include <linux/gfp.h> 23#include <linux/gfp.h>
24#include <asm/page.h> 24#include <asm/page.h>
25#include <asm/pal.h> 25#include <asm/pal.h>
26#include <asm/system.h>
27#include <asm/pgtable.h> 26#include <asm/pgtable.h>
28#include <linux/atomic.h> 27#include <linux/atomic.h>
29#include <asm/tlbflush.h> 28#include <asm/tlbflush.h>
diff --git a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c
index fed6afa2e8a9..8f66195999e7 100644
--- a/arch/ia64/kernel/unwind.c
+++ b/arch/ia64/kernel/unwind.c
@@ -41,7 +41,6 @@
41#include <asm/ptrace_offsets.h> 41#include <asm/ptrace_offsets.h>
42#include <asm/rse.h> 42#include <asm/rse.h>
43#include <asm/sections.h> 43#include <asm/sections.h>
44#include <asm/system.h>
45#include <asm/uaccess.h> 44#include <asm/uaccess.h>
46 45
47#include "entry.h" 46#include "entry.h"
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 53c0ba004e9e..0ccb28fab27e 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -1,7 +1,6 @@
1 1
2#include <asm/cache.h> 2#include <asm/cache.h>
3#include <asm/ptrace.h> 3#include <asm/ptrace.h>
4#include <asm/system.h>
5#include <asm/pgtable.h> 4#include <asm/pgtable.h>
6 5
7#include <asm-generic/vmlinux.lds.h> 6#include <asm-generic/vmlinux.lds.h>