Lines Matching refs:cpu
462 do_boot_cpu (int sapicid, int cpu, struct task_struct *idle) in do_boot_cpu() argument
467 Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid); in do_boot_cpu()
469 set_brendez_area(cpu); in do_boot_cpu()
470 platform_send_ipi(cpu, ap_wakeup_vector, IA64_IPI_DM_INT, 0); in do_boot_cpu()
477 if (cpumask_test_cpu(cpu, &cpu_callin_map)) in do_boot_cpu()
484 if (!cpumask_test_cpu(cpu, &cpu_callin_map)) { in do_boot_cpu()
485 printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid); in do_boot_cpu()
486 ia64_cpu_to_sapicid[cpu] = -1; in do_boot_cpu()
487 set_cpu_online(cpu, false); /* was set in smp_callin() */ in do_boot_cpu()
509 int sapicid, cpu, i; in smp_build_cpu_map() local
512 for (cpu = 0; cpu < NR_CPUS; cpu++) { in smp_build_cpu_map()
513 ia64_cpu_to_sapicid[cpu] = -1; in smp_build_cpu_map()
519 for (cpu = 1, i = 0; i < smp_boot_data.cpu_count; i++) { in smp_build_cpu_map()
523 set_cpu_present(cpu, true); in smp_build_cpu_map()
524 set_cpu_possible(cpu, true); in smp_build_cpu_map()
525 ia64_cpu_to_sapicid[cpu] = sapicid; in smp_build_cpu_map()
526 cpu++; in smp_build_cpu_map()
551 current_thread_info()->cpu = 0; in smp_prepare_cpus()
575 clear_cpu_sibling_map(int cpu) in clear_cpu_sibling_map() argument
579 for_each_cpu(i, &per_cpu(cpu_sibling_map, cpu)) in clear_cpu_sibling_map()
580 cpumask_clear_cpu(cpu, &per_cpu(cpu_sibling_map, i)); in clear_cpu_sibling_map()
581 for_each_cpu(i, &cpu_core_map[cpu]) in clear_cpu_sibling_map()
582 cpumask_clear_cpu(cpu, &cpu_core_map[i]); in clear_cpu_sibling_map()
584 per_cpu(cpu_sibling_map, cpu) = cpu_core_map[cpu] = CPU_MASK_NONE; in clear_cpu_sibling_map()
588 remove_siblinginfo(int cpu) in remove_siblinginfo() argument
592 if (cpu_data(cpu)->threads_per_core == 1 && in remove_siblinginfo()
593 cpu_data(cpu)->cores_per_socket == 1) { in remove_siblinginfo()
594 cpumask_clear_cpu(cpu, &cpu_core_map[cpu]); in remove_siblinginfo()
595 cpumask_clear_cpu(cpu, &per_cpu(cpu_sibling_map, cpu)); in remove_siblinginfo()
599 last = (cpumask_weight(&cpu_core_map[cpu]) == 1 ? 1 : 0); in remove_siblinginfo()
602 clear_cpu_sibling_map(cpu); in remove_siblinginfo()
607 int migrate_platform_irqs(unsigned int cpu) in migrate_platform_irqs() argument
617 if (cpe_vector > 0 && is_cpu_cpei_target(cpu)) { in migrate_platform_irqs()
618 printk ("CPU (%d) is CPEI Target\n", cpu); in migrate_platform_irqs()
640 printk ("Unable to retarget CPEI, offline cpu [%d] failed\n", cpu); in migrate_platform_irqs()
650 int cpu = smp_processor_id(); in __cpu_disable() local
655 if (cpu == 0 && !bsp_remove_ok) { in __cpu_disable()
661 if (!sn_cpu_disable_allowed(cpu)) in __cpu_disable()
665 set_cpu_online(cpu, false); in __cpu_disable()
667 if (migrate_platform_irqs(cpu)) { in __cpu_disable()
668 set_cpu_online(cpu, true); in __cpu_disable()
672 remove_siblinginfo(cpu); in __cpu_disable()
675 cpumask_clear_cpu(cpu, &cpu_callin_map); in __cpu_disable()
679 void __cpu_die(unsigned int cpu) in __cpu_die() argument
685 if (per_cpu(cpu_state, cpu) == CPU_DEAD) in __cpu_die()
687 printk ("CPU %d is now offline\n", cpu); in __cpu_die()
692 printk(KERN_ERR "CPU %u didn't die...\n", cpu); in __cpu_die()
699 int cpu; in smp_cpus_done() local
706 for_each_online_cpu(cpu) { in smp_cpus_done()
707 bogosum += cpu_data(cpu)->loops_per_jiffy; in smp_cpus_done()
714 static inline void set_cpu_sibling_map(int cpu) in set_cpu_sibling_map() argument
719 if ((cpu_data(cpu)->socket_id == cpu_data(i)->socket_id)) { in set_cpu_sibling_map()
720 cpumask_set_cpu(i, &cpu_core_map[cpu]); in set_cpu_sibling_map()
721 cpumask_set_cpu(cpu, &cpu_core_map[i]); in set_cpu_sibling_map()
722 if (cpu_data(cpu)->core_id == cpu_data(i)->core_id) { in set_cpu_sibling_map()
724 &per_cpu(cpu_sibling_map, cpu)); in set_cpu_sibling_map()
725 cpumask_set_cpu(cpu, in set_cpu_sibling_map()
733 __cpu_up(unsigned int cpu, struct task_struct *tidle) in __cpu_up() argument
738 sapicid = ia64_cpu_to_sapicid[cpu]; in __cpu_up()
746 if (cpumask_test_cpu(cpu, &cpu_callin_map)) in __cpu_up()
749 per_cpu(cpu_state, cpu) = CPU_UP_PREPARE; in __cpu_up()
751 ret = do_boot_cpu(sapicid, cpu, tidle); in __cpu_up()
755 if (cpu_data(cpu)->threads_per_core == 1 && in __cpu_up()
756 cpu_data(cpu)->cores_per_socket == 1) { in __cpu_up()
757 cpumask_set_cpu(cpu, &per_cpu(cpu_sibling_map, cpu)); in __cpu_up()
758 cpumask_set_cpu(cpu, &cpu_core_map[cpu]); in __cpu_up()
762 set_cpu_sibling_map(cpu); in __cpu_up()