Lines Matching refs:cpu
463 do_boot_cpu (int sapicid, int cpu, struct task_struct *idle) in do_boot_cpu() argument
468 Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid); in do_boot_cpu()
470 set_brendez_area(cpu); in do_boot_cpu()
471 platform_send_ipi(cpu, ap_wakeup_vector, IA64_IPI_DM_INT, 0); in do_boot_cpu()
478 if (cpumask_test_cpu(cpu, &cpu_callin_map)) in do_boot_cpu()
485 if (!cpumask_test_cpu(cpu, &cpu_callin_map)) { in do_boot_cpu()
486 printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid); in do_boot_cpu()
487 ia64_cpu_to_sapicid[cpu] = -1; in do_boot_cpu()
488 set_cpu_online(cpu, false); /* was set in smp_callin() */ in do_boot_cpu()
510 int sapicid, cpu, i; in smp_build_cpu_map() local
513 for (cpu = 0; cpu < NR_CPUS; cpu++) { in smp_build_cpu_map()
514 ia64_cpu_to_sapicid[cpu] = -1; in smp_build_cpu_map()
520 for (cpu = 1, i = 0; i < smp_boot_data.cpu_count; i++) { in smp_build_cpu_map()
524 set_cpu_present(cpu, true); in smp_build_cpu_map()
525 set_cpu_possible(cpu, true); in smp_build_cpu_map()
526 ia64_cpu_to_sapicid[cpu] = sapicid; in smp_build_cpu_map()
527 cpu++; in smp_build_cpu_map()
552 current_thread_info()->cpu = 0; in smp_prepare_cpus()
577 clear_cpu_sibling_map(int cpu) in clear_cpu_sibling_map() argument
581 for_each_cpu(i, &per_cpu(cpu_sibling_map, cpu)) in clear_cpu_sibling_map()
582 cpumask_clear_cpu(cpu, &per_cpu(cpu_sibling_map, i)); in clear_cpu_sibling_map()
583 for_each_cpu(i, &cpu_core_map[cpu]) in clear_cpu_sibling_map()
584 cpumask_clear_cpu(cpu, &cpu_core_map[i]); in clear_cpu_sibling_map()
586 per_cpu(cpu_sibling_map, cpu) = cpu_core_map[cpu] = CPU_MASK_NONE; in clear_cpu_sibling_map()
590 remove_siblinginfo(int cpu) in remove_siblinginfo() argument
594 if (cpu_data(cpu)->threads_per_core == 1 && in remove_siblinginfo()
595 cpu_data(cpu)->cores_per_socket == 1) { in remove_siblinginfo()
596 cpumask_clear_cpu(cpu, &cpu_core_map[cpu]); in remove_siblinginfo()
597 cpumask_clear_cpu(cpu, &per_cpu(cpu_sibling_map, cpu)); in remove_siblinginfo()
601 last = (cpumask_weight(&cpu_core_map[cpu]) == 1 ? 1 : 0); in remove_siblinginfo()
604 clear_cpu_sibling_map(cpu); in remove_siblinginfo()
609 int migrate_platform_irqs(unsigned int cpu) in migrate_platform_irqs() argument
619 if (cpe_vector > 0 && is_cpu_cpei_target(cpu)) { in migrate_platform_irqs()
620 printk ("CPU (%d) is CPEI Target\n", cpu); in migrate_platform_irqs()
642 printk ("Unable to retarget CPEI, offline cpu [%d] failed\n", cpu); in migrate_platform_irqs()
652 int cpu = smp_processor_id(); in __cpu_disable() local
657 if (cpu == 0 && !bsp_remove_ok) { in __cpu_disable()
663 if (!sn_cpu_disable_allowed(cpu)) in __cpu_disable()
667 set_cpu_online(cpu, false); in __cpu_disable()
669 if (migrate_platform_irqs(cpu)) { in __cpu_disable()
670 set_cpu_online(cpu, true); in __cpu_disable()
674 remove_siblinginfo(cpu); in __cpu_disable()
677 cpumask_clear_cpu(cpu, &cpu_callin_map); in __cpu_disable()
681 void __cpu_die(unsigned int cpu) in __cpu_die() argument
687 if (per_cpu(cpu_state, cpu) == CPU_DEAD) in __cpu_die()
689 printk ("CPU %d is now offline\n", cpu); in __cpu_die()
694 printk(KERN_ERR "CPU %u didn't die...\n", cpu); in __cpu_die()
701 int cpu; in smp_cpus_done() local
708 for_each_online_cpu(cpu) { in smp_cpus_done()
709 bogosum += cpu_data(cpu)->loops_per_jiffy; in smp_cpus_done()
716 static inline void set_cpu_sibling_map(int cpu) in set_cpu_sibling_map() argument
721 if ((cpu_data(cpu)->socket_id == cpu_data(i)->socket_id)) { in set_cpu_sibling_map()
722 cpumask_set_cpu(i, &cpu_core_map[cpu]); in set_cpu_sibling_map()
723 cpumask_set_cpu(cpu, &cpu_core_map[i]); in set_cpu_sibling_map()
724 if (cpu_data(cpu)->core_id == cpu_data(i)->core_id) { in set_cpu_sibling_map()
726 &per_cpu(cpu_sibling_map, cpu)); in set_cpu_sibling_map()
727 cpumask_set_cpu(cpu, in set_cpu_sibling_map()
735 __cpu_up(unsigned int cpu, struct task_struct *tidle) in __cpu_up() argument
740 sapicid = ia64_cpu_to_sapicid[cpu]; in __cpu_up()
748 if (cpumask_test_cpu(cpu, &cpu_callin_map)) in __cpu_up()
751 per_cpu(cpu_state, cpu) = CPU_UP_PREPARE; in __cpu_up()
753 ret = do_boot_cpu(sapicid, cpu, tidle); in __cpu_up()
757 if (cpu_data(cpu)->threads_per_core == 1 && in __cpu_up()
758 cpu_data(cpu)->cores_per_socket == 1) { in __cpu_up()
759 cpumask_set_cpu(cpu, &per_cpu(cpu_sibling_map, cpu)); in __cpu_up()
760 cpumask_set_cpu(cpu, &cpu_core_map[cpu]); in __cpu_up()
764 set_cpu_sibling_map(cpu); in __cpu_up()