Commit 7cec2ef4 authored by Kyle McMartin's avatar Kyle McMartin

Merge branch 'rusty-cpumask-parisc' into parisc

parents 91400ac3 9bc181d8
...@@ -29,7 +29,8 @@ extern void smp_send_reschedule(int cpu); ...@@ -29,7 +29,8 @@ extern void smp_send_reschedule(int cpu);
extern void smp_send_all_nop(void); extern void smp_send_all_nop(void);
extern void arch_send_call_function_single_ipi(int cpu); extern void arch_send_call_function_single_ipi(int cpu);
extern void arch_send_call_function_ipi(cpumask_t mask); extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
#define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask
#endif /* !ASSEMBLY */ #endif /* !ASSEMBLY */
......
...@@ -311,12 +311,12 @@ unsigned long txn_alloc_addr(unsigned int virt_irq) ...@@ -311,12 +311,12 @@ unsigned long txn_alloc_addr(unsigned int virt_irq)
next_cpu++; /* assign to "next" CPU we want this bugger on */ next_cpu++; /* assign to "next" CPU we want this bugger on */
/* validate entry */ /* validate entry */
while ((next_cpu < NR_CPUS) && while ((next_cpu < nr_cpu_ids) &&
(!per_cpu(cpu_data, next_cpu).txn_addr || (!per_cpu(cpu_data, next_cpu).txn_addr ||
!cpu_online(next_cpu))) !cpu_online(next_cpu)))
next_cpu++; next_cpu++;
if (next_cpu >= NR_CPUS) if (next_cpu >= nr_cpu_ids)
next_cpu = 0; /* nothing else, assign monarch */ next_cpu = 0; /* nothing else, assign monarch */
return txn_affinity_addr(virt_irq, next_cpu); return txn_affinity_addr(virt_irq, next_cpu);
......
...@@ -100,8 +100,8 @@ static int __cpuinit processor_probe(struct parisc_device *dev) ...@@ -100,8 +100,8 @@ static int __cpuinit processor_probe(struct parisc_device *dev)
struct cpuinfo_parisc *p; struct cpuinfo_parisc *p;
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
if (num_online_cpus() >= NR_CPUS) { if (num_online_cpus() >= nr_cpu_ids) {
printk(KERN_INFO "num_online_cpus() >= NR_CPUS\n"); printk(KERN_INFO "num_online_cpus() >= nr_cpu_ids\n");
return 1; return 1;
} }
#else #else
...@@ -214,7 +214,7 @@ static int __cpuinit processor_probe(struct parisc_device *dev) ...@@ -214,7 +214,7 @@ static int __cpuinit processor_probe(struct parisc_device *dev)
*/ */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
if (cpuid) { if (cpuid) {
cpu_set(cpuid, cpu_present_map); set_cpu_present(cpuid, true);
cpu_up(cpuid); cpu_up(cpuid);
} }
#endif #endif
......
...@@ -114,7 +114,7 @@ halt_processor(void) ...@@ -114,7 +114,7 @@ halt_processor(void)
{ {
/* REVISIT : redirect I/O Interrupts to another CPU? */ /* REVISIT : redirect I/O Interrupts to another CPU? */
/* REVISIT : does PM *know* this CPU isn't available? */ /* REVISIT : does PM *know* this CPU isn't available? */
cpu_clear(smp_processor_id(), cpu_online_map); set_cpu_online(smp_processor_id(), false);
local_irq_disable(); local_irq_disable();
for (;;) for (;;)
; ;
...@@ -215,11 +215,11 @@ ipi_send(int cpu, enum ipi_message_type op) ...@@ -215,11 +215,11 @@ ipi_send(int cpu, enum ipi_message_type op)
} }
static void static void
send_IPI_mask(cpumask_t mask, enum ipi_message_type op) send_IPI_mask(const struct cpumask *mask, enum ipi_message_type op)
{ {
int cpu; int cpu;
for_each_cpu_mask(cpu, mask) for_each_cpu(cpu, mask)
ipi_send(cpu, op); ipi_send(cpu, op);
} }
...@@ -258,7 +258,7 @@ smp_send_all_nop(void) ...@@ -258,7 +258,7 @@ smp_send_all_nop(void)
send_IPI_allbutself(IPI_NOP); send_IPI_allbutself(IPI_NOP);
} }
void arch_send_call_function_ipi(cpumask_t mask) void arch_send_call_function_ipi_mask(const struct cpumask *mask)
{ {
send_IPI_mask(mask, IPI_CALL_FUNC); send_IPI_mask(mask, IPI_CALL_FUNC);
} }
...@@ -297,13 +297,14 @@ smp_cpu_init(int cpunum) ...@@ -297,13 +297,14 @@ smp_cpu_init(int cpunum)
mb(); mb();
/* Well, support 2.4 linux scheme as well. */ /* Well, support 2.4 linux scheme as well. */
if (cpu_test_and_set(cpunum, cpu_online_map)) if (cpu_isset(cpunum, cpu_online_map))
{ {
extern void machine_halt(void); /* arch/parisc.../process.c */ extern void machine_halt(void); /* arch/parisc.../process.c */
printk(KERN_CRIT "CPU#%d already initialized!\n", cpunum); printk(KERN_CRIT "CPU#%d already initialized!\n", cpunum);
machine_halt(); machine_halt();
} }
set_cpu_online(cpunum, true);
/* Initialise the idle task for this CPU */ /* Initialise the idle task for this CPU */
atomic_inc(&init_mm.mm_count); atomic_inc(&init_mm.mm_count);
...@@ -425,8 +426,8 @@ void __init smp_prepare_boot_cpu(void) ...@@ -425,8 +426,8 @@ void __init smp_prepare_boot_cpu(void)
/* Setup BSP mappings */ /* Setup BSP mappings */
printk(KERN_INFO "SMP: bootstrap CPU ID is %d\n", bootstrap_processor); printk(KERN_INFO "SMP: bootstrap CPU ID is %d\n", bootstrap_processor);
cpu_set(bootstrap_processor, cpu_online_map); set_cpu_online(bootstrap_processor, true);
cpu_set(bootstrap_processor, cpu_present_map); set_cpu_present(bootstrap_processor, true);
} }
...@@ -437,8 +438,7 @@ void __init smp_prepare_boot_cpu(void) ...@@ -437,8 +438,7 @@ void __init smp_prepare_boot_cpu(void)
*/ */
void __init smp_prepare_cpus(unsigned int max_cpus) void __init smp_prepare_cpus(unsigned int max_cpus)
{ {
cpus_clear(cpu_present_map); init_cpu_present(cpumask_of(0));
cpu_set(0, cpu_present_map);
parisc_max_cpus = max_cpus; parisc_max_cpus = max_cpus;
if (!max_cpus) if (!max_cpus)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment