Lines Matching +full:de +full:- +full:asserting

1 // SPDX-License-Identifier: GPL-2.0-or-later
13 * Pentium Pro and Pentium-II/Xeon MP machines.
19 * Alan Cox : By repeated request 8) - Total BogoMIPS report.
32 * Martin J. Bligh : Added support for multi-quad systems
80 #include <asm/intel-family.h>
82 #include <asm/spec-ctrl.h>
274 * topology_is_primary_thread - Check whether CPU is the primary SMT thread
283 * topology_smt_supported - Check whether SMT is supported by the CPUs
291 * topology_phys_to_logical_pkg - Map a physical package id to a logical
293 * Returns logical package id or -1 if not found
302 if (c->initialized && c->phys_proc_id == phys_pkg) in topology_phys_to_logical_pkg()
303 return c->logical_proc_id; in topology_phys_to_logical_pkg()
305 return -1; in topology_phys_to_logical_pkg()
309 * topology_phys_to_logical_die - Map a physical die id to logical
311 * Returns logical die id or -1 if not found
321 if (c->initialized && c->cpu_die_id == die_id && in topology_phys_to_logical_die()
322 c->phys_proc_id == proc_id) in topology_phys_to_logical_die()
323 return c->logical_die_id; in topology_phys_to_logical_die()
325 return -1; in topology_phys_to_logical_die()
330 * topology_update_package_map - Update the physical to logical package map
353 * topology_update_die_map - Update the physical to logical die map
382 c->cpu_index = id; in smp_store_boot_cpu_info()
383 topology_update_package_map(c->phys_proc_id, id); in smp_store_boot_cpu_info()
384 topology_update_die_map(c->cpu_die_id, id); in smp_store_boot_cpu_info()
385 c->initialized = true; in smp_store_boot_cpu_info()
397 if (!c->initialized) in smp_store_cpu_info()
399 c->cpu_index = id; in smp_store_cpu_info()
405 c->initialized = true; in smp_store_cpu_info()
411 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in topology_same_node()
419 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in topology_sane()
422 "sched: CPU #%d's %s-sibling CPU #%d is not on the same node! " in topology_sane()
436 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in match_smt()
438 if (c->phys_proc_id == o->phys_proc_id && in match_smt()
439 c->cpu_die_id == o->cpu_die_id && in match_smt()
441 if (c->cpu_core_id == o->cpu_core_id) in match_smt()
444 if ((c->cu_id != 0xff) && in match_smt()
445 (o->cu_id != 0xff) && in match_smt()
446 (c->cu_id == o->cu_id)) in match_smt()
450 } else if (c->phys_proc_id == o->phys_proc_id && in match_smt()
451 c->cpu_die_id == o->cpu_die_id && in match_smt()
452 c->cpu_core_id == o->cpu_core_id) { in match_smt()
461 if (c->phys_proc_id == o->phys_proc_id && in match_die()
462 c->cpu_die_id == o->cpu_die_id) in match_die()
474 if (c->phys_proc_id == o->phys_proc_id) in match_pkg()
480 * Define intel_cod_cpu[] for Intel COD (Cluster-on-Die) CPUs.
483 * match intel_cod_cpu[] has the SNC (Sub-NUMA Cluster) topology.
486 * by multiple NUMA nodes. The LLC is shared for off-package data
488 * on-package access. CPUID (the source of the information about
503 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in match_llc()
504 bool intel_snc = id && id->driver_data; in match_llc()
569 * AMD Magny-Cours, Intel Cluster-on-Die, and Intel
570 * Sub-NUMA Clustering have this.
589 c->booted_cores = 1; in set_cpu_sibling_map()
618 * topology_sibling_cpumask links to be set-up. in set_cpu_sibling_map()
636 c->booted_cores++; in set_cpu_sibling_map()
643 } else if (i != cpu && !c->booted_cores) in set_cpu_sibling_map()
644 c->booted_cores = cpu_data(i).booted_cores; in set_cpu_sibling_map()
649 /* maps the cpu to the sched domain representing multi-core */
671 pr_debug("Before bogocount - setting activated=1\n"); in impress_friends()
714 * that there should be a 10ms delay between the BSP asserting INIT
715 * and de-asserting INIT, when starting a remote processor.
719 * Cmdline "init_cpu_udelay=" is available to over-ride this delay.
759 u32 dm = apic->dest_mode_logical ? APIC_DEST_LOGICAL : APIC_DEST_PHYSICAL; in wakeup_secondary_cpu_via_nmi()
808 pr_debug("Asserting INIT\n"); in wakeup_secondary_cpu_via_init()
923 if (current_node > (-1)) in announce_cpu()
928 node_width - num_digits(node), " ", node); in announce_cpu()
935 pr_cont("%*s#%d", width - num_digits(cpu), " ", cpu); in announce_cpu()
957 * boot-strap code which is not a desired behavior for waking up BSP. To
958 * void the boot-strap code, wake up CPU0 by NMI instead.
993 id = apic->dest_mode_logical ? cpu0_logical_apicid : apicid; in wakeup_cpu_via_init_nmi()
1028 * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
1031 * ->wakeup_secondary_cpu.
1036 /* start_ip had better be page-aligned! */ in do_boot_cpu()
1037 unsigned long start_ip = real_mode_header->trampoline_start; in do_boot_cpu()
1042 idle->thread.sp = (unsigned long)task_pt_regs(idle); in do_boot_cpu()
1045 initial_stack = idle->thread.sp; in do_boot_cpu()
1075 * it timed-out. Clear cpu_initialized_mask so that after in do_boot_cpu()
1083 * - Use the method in the APIC driver if it's defined in do_boot_cpu()
1085 * - Use an INIT boot APIC message for APs or NMI for BSP. in do_boot_cpu()
1087 if (apic->wakeup_secondary_cpu) in do_boot_cpu()
1088 boot_error = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu()
1097 boot_error = -1; in do_boot_cpu()
1139 int apicid = apic->cpu_present_to_apicid(cpu); in native_cpu_up()
1146 pr_debug("++++++++++++++++++++=_---CPU UP %u\n", cpu); in native_cpu_up()
1150 !apic->apic_id_valid(apicid)) { in native_cpu_up()
1152 return -EINVAL; in native_cpu_up()
1160 return -ENOSYS; in native_cpu_up()
1171 if (err && err != -EBUSY) in native_cpu_up()
1184 ret = -EIO; in native_cpu_up()
1213 * arch_disable_smp_support() - disables SMP support for x86 at runtime
1223 * RED-PEN audit/test this more. I bet there is more state messed up here.
1255 pr_warn("More than 8 CPUs detected - skipping them\n" in smp_sanity_check()
1287 if (!apic->check_phys_apicid_present(boot_cpu_physical_apicid)) { in smp_sanity_check()
1303 c->cpu_index = nr_cpu_ids; in smp_cpu_index_default()
1435 static int __initdata setup_possible_cpus = -1;
1446 * are onlined, or offlined. The reason is per-cpu data-structures
1452 * - Ashok Raj
1455 * - If the BIOS specified disabled CPUs in ACPI/mptables use that.
1456 * - The user can overwrite it with possible_cpus=NUM
1457 * - Otherwise don't reserve additional CPUs.
1459 * -AK
1474 if (apic->cpu_present_to_apicid(0) == BAD_APICID && in prefill_possible_map()
1475 apic->apic_id_valid(apicid)) in prefill_possible_map()
1484 if (setup_possible_cpus == -1) { in prefill_possible_map()
1517 possible, max_t(int, possible - num_processors, 0)); in prefill_possible_map()
1553 cpu_data(sibling).booted_cores--; in remove_siblinginfo()
1571 c->cpu_core_id = 0; in remove_siblinginfo()
1572 c->booted_cores = 0; in remove_siblinginfo()
1646 ret = -1; in common_cpu_die()
1671 * cond_wakeup_cpu0 - Wake up CPU0 if needed.
1723 (highest_subcstate - 1); in mwait_play_dead()
1731 mwait_ptr = &current_thread_info()->flags; in mwait_play_dead()
1740 * The WBINVD is insufficient due to the spurious-wakeup in mwait_play_dead()
1779 return -ENOSYS; in native_cpu_disable()
1803 * Since the frequency freq_curr on x86 is controlled by micro-controller and
1804 * our P-state setting is little more than a request/hint, we need to observe
1810 * where freq_base is the max non-turbo P-state.
1926 fratio -= delta_fratio; in knl_set_max_freq_ratio()
2022 …pr_debug("Couldn't determine cpu base or turbo frequency, necessary for scale-invariant accounting… in intel_set_max_freq_ratio()
2028 pr_debug("Non-zero turbo and base frequencies led to a 0 ratio.\n"); in intel_set_max_freq_ratio()
2064 pr_debug("Non-zero highest/nominal perf values led to a 0 ratio\n"); in amd_set_max_freq_ratio()
2137 pr_debug("Couldn't determine max cpu frequency, necessary for scale-invariant accounting.\n"); in init_freq_invariance()
2179 acnt = aperf - this_cpu_read(arch_prev_aperf); in arch_scale_freq_tick()
2180 mcnt = mperf - this_cpu_read(arch_prev_mperf); in arch_scale_freq_tick()