• Home
  • Raw
  • Download

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
79 #include <asm/intel-family.h>
81 #include <asm/spec-ctrl.h>
269 * topology_is_primary_thread - Check whether CPU is the primary SMT thread
278 * topology_smt_supported - Check whether SMT is supported by the CPUs
286 * topology_phys_to_logical_pkg - Map a physical package id to a logical
288 * Returns logical package id or -1 if not found
297 if (c->initialized && c->phys_proc_id == phys_pkg) in topology_phys_to_logical_pkg()
298 return c->logical_proc_id; in topology_phys_to_logical_pkg()
300 return -1; in topology_phys_to_logical_pkg()
304 * topology_phys_to_logical_die - Map a physical die id to logical
306 * Returns logical die id or -1 if not found
316 if (c->initialized && c->cpu_die_id == die_id && in topology_phys_to_logical_die()
317 c->phys_proc_id == proc_id) in topology_phys_to_logical_die()
318 return c->logical_die_id; in topology_phys_to_logical_die()
320 return -1; in topology_phys_to_logical_die()
325 * topology_update_package_map - Update the physical to logical package map
348 * topology_update_die_map - Update the physical to logical die map
377 c->cpu_index = id; in smp_store_boot_cpu_info()
378 topology_update_package_map(c->phys_proc_id, id); in smp_store_boot_cpu_info()
379 topology_update_die_map(c->cpu_die_id, id); in smp_store_boot_cpu_info()
380 c->initialized = true; in smp_store_boot_cpu_info()
392 if (!c->initialized) in smp_store_cpu_info()
394 c->cpu_index = id; in smp_store_cpu_info()
400 c->initialized = true; in smp_store_cpu_info()
406 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in topology_same_node()
414 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in topology_sane()
417 "sched: CPU #%d's %s-sibling CPU #%d is not on the same node! " in topology_sane()
431 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in match_smt()
433 if (c->phys_proc_id == o->phys_proc_id && in match_smt()
434 c->cpu_die_id == o->cpu_die_id && in match_smt()
436 if (c->cpu_core_id == o->cpu_core_id) in match_smt()
439 if ((c->cu_id != 0xff) && in match_smt()
440 (o->cu_id != 0xff) && in match_smt()
441 (c->cu_id == o->cu_id)) in match_smt()
445 } else if (c->phys_proc_id == o->phys_proc_id && in match_smt()
446 c->cpu_die_id == o->cpu_die_id && in match_smt()
447 c->cpu_core_id == o->cpu_core_id) { in match_smt()
456 if (c->phys_proc_id == o->phys_proc_id && in match_die()
457 c->cpu_die_id == o->cpu_die_id) in match_die()
469 if (c->phys_proc_id == o->phys_proc_id) in match_pkg()
475 * Define intel_cod_cpu[] for Intel COD (Cluster-on-Die) CPUs.
478 * match intel_cod_cpu[] has the SNC (Sub-NUMA Cluster) topology.
481 * by multiple NUMA nodes. The LLC is shared for off-package data
483 * on-package access. CPUID (the source of the information about
498 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in match_llc()
499 bool intel_snc = id && id->driver_data; in match_llc()
564 * AMD Magny-Cours, Intel Cluster-on-Die, and Intel
565 * Sub-NUMA Clustering have this.
584 c->booted_cores = 1; in set_cpu_sibling_map()
610 * topology_sibling_cpumask links to be set-up. in set_cpu_sibling_map()
628 c->booted_cores++; in set_cpu_sibling_map()
635 } else if (i != cpu && !c->booted_cores) in set_cpu_sibling_map()
636 c->booted_cores = cpu_data(i).booted_cores; in set_cpu_sibling_map()
641 /* maps the cpu to the sched domain representing multi-core */
663 pr_debug("Before bogocount - setting activated=1\n"); in impress_friends()
706 * that there should be a 10ms delay between the BSP asserting INIT
707 * and de-asserting INIT, when starting a remote processor.
711 * Cmdline "init_cpu_udelay=" is available to over-ride this delay.
757 apic_icr_write(APIC_DM_NMI | apic->dest_logical, apicid); in wakeup_secondary_cpu_via_nmi()
799 pr_debug("Asserting INIT\n"); in wakeup_secondary_cpu_via_init()
914 if (current_node > (-1)) in announce_cpu()
919 node_width - num_digits(node), " ", node); in announce_cpu()
926 pr_cont("%*s#%d", width - num_digits(cpu), " ", cpu); in announce_cpu()
948 * boot-strap code which is not a desired behavior for waking up BSP. To
949 * void the boot-strap code, wake up CPU0 by NMI instead.
984 if (apic->dest_logical == APIC_DEST_LOGICAL) in wakeup_cpu_via_init_nmi()
1022 * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
1025 * ->wakeup_secondary_cpu.
1030 /* start_ip had better be page-aligned! */ in do_boot_cpu()
1031 unsigned long start_ip = real_mode_header->trampoline_start; in do_boot_cpu()
1036 idle->thread.sp = (unsigned long)task_pt_regs(idle); in do_boot_cpu()
1039 initial_stack = idle->thread.sp; in do_boot_cpu()
1069 * it timed-out. Clear cpu_initialized_mask so that after in do_boot_cpu()
1077 * - Use the method in the APIC driver if it's defined in do_boot_cpu()
1079 * - Use an INIT boot APIC message for APs or NMI for BSP. in do_boot_cpu()
1081 if (apic->wakeup_secondary_cpu) in do_boot_cpu()
1082 boot_error = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu()
1091 boot_error = -1; in do_boot_cpu()
1133 int apicid = apic->cpu_present_to_apicid(cpu); in native_cpu_up()
1140 pr_debug("++++++++++++++++++++=_---CPU UP %u\n", cpu); in native_cpu_up()
1144 !apic->apic_id_valid(apicid)) { in native_cpu_up()
1146 return -EINVAL; in native_cpu_up()
1154 return -ENOSYS; in native_cpu_up()
1165 if (err && err != -EBUSY) in native_cpu_up()
1178 ret = -EIO; in native_cpu_up()
1207 * arch_disable_smp_support() - disables SMP support for x86 at runtime
1217 * RED-PEN audit/test this more. I bet there is more state messed up here.
1249 pr_warn("More than 8 CPUs detected - skipping them\n" in smp_sanity_check()
1281 if (!apic->check_phys_apicid_present(boot_cpu_physical_apicid)) { in smp_sanity_check()
1297 c->cpu_index = nr_cpu_ids; in smp_cpu_index_default()
1429 static int __initdata setup_possible_cpus = -1;
1440 * are onlined, or offlined. The reason is per-cpu data-structures
1446 * - Ashok Raj
1449 * - If the BIOS specified disabled CPUs in ACPI/mptables use that.
1450 * - The user can overwrite it with possible_cpus=NUM
1451 * - Otherwise don't reserve additional CPUs.
1453 * -AK
1468 if (apic->cpu_present_to_apicid(0) == BAD_APICID && in prefill_possible_map()
1469 apic->apic_id_valid(apicid)) in prefill_possible_map()
1478 if (setup_possible_cpus == -1) { in prefill_possible_map()
1511 possible, max_t(int, possible - num_processors, 0)); in prefill_possible_map()
1547 cpu_data(sibling).booted_cores--; in remove_siblinginfo()
1560 c->cpu_core_id = 0; in remove_siblinginfo()
1561 c->booted_cores = 0; in remove_siblinginfo()
1635 ret = -1; in common_cpu_die()
1660 * cond_wakeup_cpu0 - Wake up CPU0 if needed.
1712 (highest_subcstate - 1); in mwait_play_dead()
1720 mwait_ptr = &current_thread_info()->flags; in mwait_play_dead()
1729 * The WBINVD is insufficient due to the spurious-wakeup in mwait_play_dead()
1768 return -ENOSYS; in native_cpu_disable()
1792 * Since the frequency freq_curr on x86 is controlled by micro-controller and
1793 * our P-state setting is little more than a request/hint, we need to observe
1799 * where freq_base is the max non-turbo P-state.
1864 #include <asm/intel-family.h>
1918 fratio -= delta_fratio; in knl_set_max_freq_ratio()
2014 …pr_debug("Couldn't determine cpu base or turbo frequency, necessary for scale-invariant accounting… in intel_set_max_freq_ratio()
2020 pr_debug("Non-zero turbo and base frequencies led to a 0 ratio.\n"); in intel_set_max_freq_ratio()
2062 pr_debug("Couldn't determine max cpu frequency, necessary for scale-invariant accounting.\n"); in init_freq_invariance()
2088 acnt = aperf - this_cpu_read(arch_prev_aperf); in arch_scale_freq_tick()
2089 mcnt = mperf - this_cpu_read(arch_prev_mperf); in arch_scale_freq_tick()