Lines Matching +full:ecx +full:- +full:1000

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>
270 * topology_is_primary_thread - Check whether CPU is the primary SMT thread
279 * topology_smt_supported - Check whether SMT is supported by the CPUs
287 * topology_phys_to_logical_pkg - Map a physical package id to a logical
289 * Returns logical package id or -1 if not found
298 if (c->initialized && c->phys_proc_id == phys_pkg) in topology_phys_to_logical_pkg()
299 return c->logical_proc_id; in topology_phys_to_logical_pkg()
301 return -1; in topology_phys_to_logical_pkg()
305 * topology_phys_to_logical_die - Map a physical die id to logical
307 * Returns logical die id or -1 if not found
317 if (c->initialized && c->cpu_die_id == die_id && in topology_phys_to_logical_die()
318 c->phys_proc_id == proc_id) in topology_phys_to_logical_die()
319 return c->logical_die_id; in topology_phys_to_logical_die()
321 return -1; in topology_phys_to_logical_die()
326 * topology_update_package_map - Update the physical to logical package map
349 * topology_update_die_map - Update the physical to logical die map
378 c->cpu_index = id; in smp_store_boot_cpu_info()
379 topology_update_package_map(c->phys_proc_id, id); in smp_store_boot_cpu_info()
380 topology_update_die_map(c->cpu_die_id, id); in smp_store_boot_cpu_info()
381 c->initialized = true; in smp_store_boot_cpu_info()
393 if (!c->initialized) in smp_store_cpu_info()
395 c->cpu_index = id; in smp_store_cpu_info()
401 c->initialized = true; in smp_store_cpu_info()
407 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in topology_same_node()
415 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in topology_sane()
418 "sched: CPU #%d's %s-sibling CPU #%d is not on the same node! " in topology_sane()
432 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in match_smt()
434 if (c->phys_proc_id == o->phys_proc_id && in match_smt()
435 c->cpu_die_id == o->cpu_die_id && in match_smt()
437 if (c->cpu_core_id == o->cpu_core_id) in match_smt()
440 if ((c->cu_id != 0xff) && in match_smt()
441 (o->cu_id != 0xff) && in match_smt()
442 (c->cu_id == o->cu_id)) in match_smt()
446 } else if (c->phys_proc_id == o->phys_proc_id && in match_smt()
447 c->cpu_die_id == o->cpu_die_id && in match_smt()
448 c->cpu_core_id == o->cpu_core_id) { in match_smt()
456 * Define snc_cpu[] for SNC (Sub-NUMA Cluster) CPUs.
460 * off-package data access but private to the NUMA node (half
461 * of the package) for on-package access.
477 int cpu1 = c->cpu_index, cpu2 = o->cpu_index; in match_llc()
505 if (c->phys_proc_id == o->phys_proc_id) in match_pkg()
512 if ((c->phys_proc_id == o->phys_proc_id) && in match_die()
513 (c->cpu_die_id == o->cpu_die_id)) in match_die()
562 * AMD Magny-Cours, Intel Cluster-on-Die, and Intel
563 * Sub-NUMA Clustering have this.
582 c->booted_cores = 1; in set_cpu_sibling_map()
599 * topology_sibling_cpumask links to be set-up. in set_cpu_sibling_map()
618 c->booted_cores++; in set_cpu_sibling_map()
625 } else if (i != cpu && !c->booted_cores) in set_cpu_sibling_map()
626 c->booted_cores = cpu_data(i).booted_cores; in set_cpu_sibling_map()
640 /* maps the cpu to the sched domain representing multi-core */
662 pr_debug("Before bogocount - setting activated=1\n"); in impress_friends()
690 } while (status == APIC_ICR_RR_INPROG && timeout++ < 1000); in __inquire_remote_apic()
706 * and de-asserting INIT, when starting a remote processor.
710 * Cmdline "init_cpu_udelay=" is available to over-ride this delay.
756 apic_icr_write(APIC_DM_NMI | apic->dest_logical, apicid); in wakeup_secondary_cpu_via_nmi()
913 if (current_node > (-1)) in announce_cpu()
918 node_width - num_digits(node), " ", node); in announce_cpu()
925 pr_cont("%*s#%d", width - num_digits(cpu), " ", cpu); in announce_cpu()
947 * boot-strap code which is not a desired behavior for waking up BSP. To
948 * void the boot-strap code, wake up CPU0 by NMI instead.
983 if (apic->dest_logical == APIC_DEST_LOGICAL) in wakeup_cpu_via_init_nmi()
1021 * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
1024 * ->wakeup_secondary_cpu.
1029 /* start_ip had better be page-aligned! */ in do_boot_cpu()
1030 unsigned long start_ip = real_mode_header->trampoline_start; in do_boot_cpu()
1035 idle->thread.sp = (unsigned long)task_pt_regs(idle); in do_boot_cpu()
1038 initial_stack = idle->thread.sp; in do_boot_cpu()
1068 * it timed-out. Clear cpu_initialized_mask so that after in do_boot_cpu()
1076 * - Use the method in the APIC driver if it's defined in do_boot_cpu()
1078 * - Use an INIT boot APIC message for APs or NMI for BSP. in do_boot_cpu()
1080 if (apic->wakeup_secondary_cpu) in do_boot_cpu()
1081 boot_error = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu()
1090 boot_error = -1; in do_boot_cpu()
1132 int apicid = apic->cpu_present_to_apicid(cpu); in native_cpu_up()
1139 pr_debug("++++++++++++++++++++=_---CPU UP %u\n", cpu); in native_cpu_up()
1143 !apic->apic_id_valid(apicid)) { in native_cpu_up()
1145 return -EINVAL; in native_cpu_up()
1153 return -ENOSYS; in native_cpu_up()
1164 if (err && err != -EBUSY) in native_cpu_up()
1177 ret = -EIO; in native_cpu_up()
1206 * arch_disable_smp_support() - disables SMP support for x86 at runtime
1216 * RED-PEN audit/test this more. I bet there is more state messed up here.
1248 pr_warn("More than 8 CPUs detected - skipping them\n" in smp_sanity_check()
1280 if (!apic->check_phys_apicid_present(boot_cpu_physical_apicid)) { in smp_sanity_check()
1296 c->cpu_index = nr_cpu_ids; in smp_cpu_index_default()
1428 static int __initdata setup_possible_cpus = -1;
1439 * are onlined, or offlined. The reason is per-cpu data-structures
1445 * - Ashok Raj
1448 * - If the BIOS specified disabled CPUs in ACPI/mptables use that.
1449 * - The user can overwrite it with possible_cpus=NUM
1450 * - Otherwise don't reserve additional CPUs.
1452 * -AK
1467 if (apic->cpu_present_to_apicid(0) == BAD_APICID && in prefill_possible_map()
1468 apic->apic_id_valid(apicid)) in prefill_possible_map()
1477 if (setup_possible_cpus == -1) { in prefill_possible_map()
1510 possible, max_t(int, possible - num_processors, 0)); in prefill_possible_map()
1546 cpu_data(sibling).booted_cores--; in remove_siblinginfo()
1559 c->cpu_core_id = 0; in remove_siblinginfo()
1560 c->booted_cores = 0; in remove_siblinginfo()
1634 ret = -1; in common_cpu_die()
1672 unsigned int eax, ebx, ecx, edx; in mwait_play_dead() local
1689 ecx = 0; in mwait_play_dead()
1690 native_cpuid(&eax, &ebx, &ecx, &edx); in mwait_play_dead()
1696 if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED)) { in mwait_play_dead()
1707 (highest_subcstate - 1); in mwait_play_dead()
1715 mwait_ptr = &current_thread_info()->flags; in mwait_play_dead()
1724 * The WBINVD is insufficient due to the spurious-wakeup in mwait_play_dead()
1769 return -ENOSYS; in native_cpu_disable()
1793 * Since the frequency freq_curr on x86 is controlled by micro-controller and
1794 * our P-state setting is little more than a request/hint, we need to observe
1800 * 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()