Home
last modified time | relevance | path

Searched full:cpuid (Results 1 – 25 of 425) sorted by relevance

12345678910>>...17

/linux/Documentation/arch/x86/
H A Dtopology.rst68 The physical ID of the package. This information is retrieved via CPUID
148 specific CPUID leaves which enumerate the processor topology and the cache
151 The CPUID leaves in their preferred order of parsing for each x86 vendor is as
156 1) CPUID leaf 0x80000026 [Extended CPU Topology] (Core::X86::Cpuid::ExCpuTopology)
158 The extended CPUID leaf 0x80000026 is the extension of the CPUID leaf 0xB
163 CPUID level is >= 0x80000026 and then checking if `LogProcAtThisLevel`
174 CPUID leaf 0x80000026 also provides more information regarding the power
178 If CPUID leaf 0x80000026 is supported, further parsing is not required.
180 2) CPUID leaf 0x0000000B [Extended Topology Enumeration] (Core::X86::Cpuid::ExtTopEnum)
182 The extended CPUID leaf 0x0000000B is the predecessor on the extended
[all …]
/linux/tools/testing/selftests/kvm/x86/
H A Dcpuid_test.c5 * Generic tests for KVM CPUID set/get ioctls
73 * CPUID.0xD.{0,1}.EBX enumerate XSAVE size based on the current in get_const_cpuid_mask()
90 "CPUID nent mismatch: %d vs. %d", cpuid1->nent, cpuid2->nent); in compare_cpuids()
100 "CPUID entries[%d] mismtach: 0x%x.%d.%x vs. 0x%x.%d.%x", in compare_cpuids()
111 "CPUID 0x%x.%x differ: 0x%x:0x%x:0x%x:0x%x vs 0x%x:0x%x:0x%x:0x%x", in compare_cpuids()
143 struct kvm_cpuid2 *vcpu_alloc_cpuid(struct kvm_vm *vm, vm_vaddr_t *p_gva, struct kvm_cpuid2 *cpuid) in vcpu_alloc_cpuid() argument
145 int size = sizeof(*cpuid) + cpuid->nent * sizeof(cpuid->entries[0]); in vcpu_alloc_cpuid()
149 memcpy(guest_cpuids, cpuid, size); in vcpu_alloc_cpuid()
162 /* Setting unmodified CPUID is allowed */ in set_cpuid_after_run()
164 TEST_ASSERT(!rc, "Setting unmodified CPUID after KVM_RUN failed: %d", rc); in set_cpuid_after_run()
[all …]
/linux/lib/zstd/common/
H A Dcpu.h16 * Implementation taken from folly/CpuId.h
17 * https://github.com/facebook/folly/blob/master/folly/CpuId.h
36 /* The following block like the normal cpuid branch below, but gcc in ZSTD_cpuid()
43 "cpuid\n\t" in ZSTD_cpuid()
52 "cpuid\n\t" in ZSTD_cpuid()
60 "cpuid\n\t" in ZSTD_cpuid()
69 __asm__("cpuid" : "=a"(n) : "a"(0) : "ebx", "ecx", "edx"); in ZSTD_cpuid()
72 __asm__("cpuid" : "=a"(f1a), "=c"(f1c), "=d"(f1d) : "a"(1) : "ebx"); in ZSTD_cpuid()
76 __asm__("cpuid" in ZSTD_cpuid()
83 ZSTD_cpuid_t cpuid; in ZSTD_cpuid() local
[all …]
/linux/arch/riscv/kernel/
H A Dsmpboot.c48 int cpuid; in smp_prepare_cpus() local
62 for_each_possible_cpu(cpuid) { in smp_prepare_cpus()
63 if (cpuid == curr_cpuid) in smp_prepare_cpus()
65 set_cpu_present(cpuid, true); in smp_prepare_cpus()
66 numa_store_cpu_info(cpuid); in smp_prepare_cpus()
128 int cpuid = 1; in of_parse_and_init_cpus() local
142 if (cpuid >= NR_CPUS) { in of_parse_and_init_cpus()
143 pr_warn("Invalid cpuid [%d] for hartid [%lu]\n", in of_parse_and_init_cpus()
144 cpuid, hart); in of_parse_and_init_cpus()
148 cpuid_to_hartid_map(cpuid) = hart; in of_parse_and_init_cpus()
[all …]
/linux/arch/parisc/kernel/
H A Dtopology.c28 void store_cpu_topology(unsigned int cpuid) in store_cpu_topology() argument
30 struct cpu_topology *cpuid_topo = &cpu_topology[cpuid]; in store_cpu_topology()
40 per_cpu(cpu_devices, cpuid).hotpluggable = 1; in store_cpu_topology()
42 if (register_cpu(&per_cpu(cpu_devices, cpuid), cpuid)) in store_cpu_topology()
43 pr_warn("Failed to register CPU%d device", cpuid); in store_cpu_topology()
49 p = &per_cpu(cpu_data, cpuid); in store_cpu_topology()
53 if (cpu == cpuid) /* ignore current cpu */ in store_cpu_topology()
72 update_siblings_masks(cpuid); in store_cpu_topology()
75 cpuid, in store_cpu_topology()
76 cpu_topology[cpuid].core_id, in store_cpu_topology()
[all …]
H A Dprocessor.c84 unsigned long cpuid; in processor_probe() local
103 cpuid = boot_cpu_data.cpu_count; in processor_probe()
105 cpu_info.cpu_num = cpu_info.cpu_loc = cpuid; in processor_probe()
136 cpuid, cpu_info.cpu_num, cpu_info.cpu_loc, in processor_probe()
141 /* We need contiguous numbers for cpuid. Firmware's notion in processor_probe()
142 * of cpuid is for physical CPUs and we just don't care yet. in processor_probe()
155 cpuid = cpu_info.cpu_num; in processor_probe()
161 p = &per_cpu(cpu_data, cpuid); in processor_probe()
165 if (cpuid) in processor_probe()
170 p->cpuid = cpuid; /* save CPU id */ in processor_probe()
[all …]
/linux/arch/x86/boot/compressed/
H A Dmem_encrypt.S23 movl $0x80000000, %eax /* CPUID to check the highest leaf */
24 cpuid
30 * CPUID Fn8000_001F[EAX] - Bit 1
31 * CPUID Fn8000_001F[EBX] - Bits 5:0
35 cpuid
57 * sev_es_req_cpuid - Request a CPUID value from the Hypervisor using
61 * @%edx: CPUID Function
64 * %edx returns CPUID value on success
99 /* Keep CPUID function in %ebx */
106 movl $0, %eax # Request CPUID[fn].EAX
[all …]
/linux/drivers/soc/tegra/
H A Dflowctrl.c51 u32 flowctrl_read_cpu_csr(unsigned int cpuid) in flowctrl_read_cpu_csr() argument
53 u8 offset = flowctrl_offset_cpu_csr[cpuid]; in flowctrl_read_cpu_csr()
62 void flowctrl_write_cpu_csr(unsigned int cpuid, u32 value) in flowctrl_write_cpu_csr() argument
64 return flowctrl_update(flowctrl_offset_cpu_csr[cpuid], value); in flowctrl_write_cpu_csr()
67 void flowctrl_write_cpu_halt(unsigned int cpuid, u32 value) in flowctrl_write_cpu_halt() argument
69 return flowctrl_update(flowctrl_offset_halt_cpu[cpuid], value); in flowctrl_write_cpu_halt()
72 void flowctrl_cpu_suspend_enter(unsigned int cpuid) in flowctrl_cpu_suspend_enter() argument
77 reg = flowctrl_read_cpu_csr(cpuid); in flowctrl_cpu_suspend_enter()
85 reg |= TEGRA20_FLOW_CTRL_CSR_WFE_CPU0 << cpuid; in flowctrl_cpu_suspend_enter()
106 reg |= TEGRA20_FLOW_CTRL_CSR_WFE_CPU0 << cpuid; in flowctrl_cpu_suspend_enter()
[all …]
/linux/drivers/dma/
H A Dcv1800b-dmamux.c47 #define DMAMUX_INT_BIT(chid, cpuid) \ argument
48 BIT((cpuid) * DMAMUX_INT_BIT_PER_CPU + (chid))
49 #define DMAMUX_INTEN_BIT(cpuid) \ argument
50 DMAMUX_INT_BIT(8, cpuid)
51 #define DMAMUX_INT_CH_BIT(chid, cpuid) \ argument
52 (DMAMUX_INT_BIT(chid, cpuid) | DMAMUX_INTEN_BIT(cpuid))
57 #define DMAMUX_INT_CH_MASK(chid, cpuid) \ argument
58 (DMAMUX_INT_MASK(chid) | DMAMUX_INTEN_BIT(cpuid))
104 unsigned int chid, devid, cpuid; in cv1800_dmamux_route_allocate() local
113 cpuid = dma_spec->args[1]; in cv1800_dmamux_route_allocate()
[all …]
/linux/include/soc/tegra/
H A Dflowctrl.h44 u32 flowctrl_read_cpu_csr(unsigned int cpuid);
45 void flowctrl_write_cpu_csr(unsigned int cpuid, u32 value);
46 void flowctrl_write_cpu_halt(unsigned int cpuid, u32 value);
48 void flowctrl_cpu_suspend_enter(unsigned int cpuid);
49 void flowctrl_cpu_suspend_exit(unsigned int cpuid);
51 static inline u32 flowctrl_read_cpu_csr(unsigned int cpuid) in flowctrl_read_cpu_csr() argument
56 static inline void flowctrl_write_cpu_csr(unsigned int cpuid, u32 value) in flowctrl_write_cpu_csr() argument
60 static inline void flowctrl_write_cpu_halt(unsigned int cpuid, u32 value) {} in flowctrl_write_cpu_halt() argument
62 static inline void flowctrl_cpu_suspend_enter(unsigned int cpuid) in flowctrl_cpu_suspend_enter() argument
66 static inline void flowctrl_cpu_suspend_exit(unsigned int cpuid) in flowctrl_cpu_suspend_exit() argument
/linux/arch/alpha/kernel/
H A Dsmp.c69 /* Set to a secondary's cpuid when it comes online. */
81 smp_store_cpu_info(int cpuid) in smp_store_cpu_info() argument
83 cpu_data[cpuid].loops_per_jiffy = loops_per_jiffy; in smp_store_cpu_info()
84 cpu_data[cpuid].last_asn = ASN_FIRST_VERSION; in smp_store_cpu_info()
85 cpu_data[cpuid].need_new_asn = 0; in smp_store_cpu_info()
86 cpu_data[cpuid].asn_lock = 0; in smp_store_cpu_info()
93 smp_setup_percpu_timer(int cpuid) in smp_setup_percpu_timer() argument
95 cpu_data[cpuid].prof_counter = 1; in smp_setup_percpu_timer()
96 cpu_data[cpuid].prof_multiplier = 1; in smp_setup_percpu_timer()
100 wait_boot_cpu_to_stop(int cpuid) in wait_boot_cpu_to_stop() argument
[all …]
/linux/arch/x86/kvm/
H A Dcpuid.c4 * cpuid support routines
24 #include <asm/cpuid/api.h>
25 #include "cpuid.h"
94 * KVM has a semi-arbitrary rule that querying the guest's CPUID model in kvm_find_cpuid_entry2()
95 * with IRQs disabled is disallowed. The CPUID model can legitimately in kvm_find_cpuid_entry2()
101 * of the hotpath, e.g. by caching information during CPUID updates. in kvm_find_cpuid_entry2()
122 * lookup (as opposed to emulating CPUID) for a function that's in kvm_find_cpuid_entry2()
175 /* Check whether the supplied CPUID data is equal to what is already set for the vCPU. */
183 * Apply runtime CPUID updates to the incoming CPUID entries to avoid in kvm_cpuid_check_equal()
186 * Note! @e2 and @nent track the _old_ CPUID entries! in kvm_cpuid_check_equal()
[all …]
/linux/arch/x86/kernel/
H A Dcpuid.c9 * x86 CPUID access device
11 * This device is accessed by lseek() to the appropriate CPUID level
19 * This driver uses /dev/cpu/%d/cpuid where %d is the minor number, and on
111 return -EIO; /* CPUID not supported */ in cpuid_open()
128 return kasprintf(GFP_KERNEL, "cpu/%u/cpuid", MINOR(dev->devt)); in cpuid_devnode()
132 .name = "cpuid",
156 "cpu/cpuid", &cpuid_fops)) { in cpuid_init()
157 printk(KERN_ERR "cpuid: unable to get major %d for cpuid\n", in cpuid_init()
165 err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "x86/cpuid:online", in cpuid_init()
176 __unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid"); in cpuid_init()
[all …]
H A Dhead_32.S171 * if and only if CPUID exists and has flags other than the FPU flag set.
173 movl $-1,pa(X86_CPUID) # preset CPUID level
181 # which means no CPUID and no CR4
184 cpuid
185 movl %eax,pa(X86_CPUID) # save largest std CPUID function
188 cpuid
189 andl $~1,%edx # Ignore CPUID.FPU
190 jz .Lenable_paging # No flags or only CPUID.FPU = no CR4
200 cpuid
210 cpuid
[all …]
/linux/tools/perf/util/
H A Ddisasm.h111 const struct arch *arch__find(uint16_t e_machine, uint32_t e_flags, const char *cpuid);
125 const struct arch *arch__new_arc(const struct e_machine_and_e_flags *id, const char *cpuid);
126 const struct arch *arch__new_arm(const struct e_machine_and_e_flags *id, const char *cpuid);
127 const struct arch *arch__new_arm64(const struct e_machine_and_e_flags *id, const char *cpuid);
128 const struct arch *arch__new_csky(const struct e_machine_and_e_flags *id, const char *cpuid);
129 const struct arch *arch__new_loongarch(const struct e_machine_and_e_flags *id, const char *cpuid);
130 const struct arch *arch__new_mips(const struct e_machine_and_e_flags *id, const char *cpuid);
131 const struct arch *arch__new_powerpc(const struct e_machine_and_e_flags *id, const char *cpuid);
132 const struct arch *arch__new_riscv64(const struct e_machine_and_e_flags *id, const char *cpuid);
133 const struct arch *arch__new_s390(const struct e_machine_and_e_flags *id, const char *cpuid);
[all …]
/linux/arch/sparc/kernel/
H A Dsun4d_smp.c45 static inline void show_leds(int cpuid) in show_leds() argument
47 cpuid &= 0x1e; in show_leds()
49 "r" ((cpu_leds[cpuid] << 4) | cpu_leds[cpuid+1]), in show_leds()
50 "r" (ECSR_BASE(cpuid) | BB_LEDS), in show_leds()
56 int cpuid = hard_smp_processor_id(); in sun4d_cpu_pre_starting() local
59 cpu_leds[cpuid] = 0x6; in sun4d_cpu_pre_starting()
60 show_leds(cpuid); in sun4d_cpu_pre_starting()
69 int cpuid; in sun4d_cpu_pre_online() local
71 cpuid = hard_smp_processor_id(); in sun4d_cpu_pre_online()
78 sun4d_swap((unsigned long *)&cpu_callin_map[cpuid], 1); in sun4d_cpu_pre_online()
[all …]
H A Dirq_64.c313 static unsigned int sun4u_compute_tid(unsigned long imap, unsigned long cpuid) in sun4u_compute_tid() argument
318 tid = starfire_translate(imap, cpuid); in sun4u_compute_tid()
328 tid = cpuid << IMAP_TID_SHIFT; in sun4u_compute_tid()
331 unsigned int a = cpuid & 0x1f; in sun4u_compute_tid()
332 unsigned int n = (cpuid >> 5) & 0x1f; in sun4u_compute_tid()
340 tid = cpuid << IMAP_TID_SHIFT; in sun4u_compute_tid()
351 int cpuid; in irq_choose_cpu() local
354 cpuid = map_to_cpu(irq); in irq_choose_cpu()
356 cpuid = cpumask_first_and(affinity, cpu_online_mask); in irq_choose_cpu()
357 cpuid = cpuid < nr_cpu_ids ? cpuid : map_to_cpu(irq); in irq_choose_cpu()
[all …]
H A Dsun4d_irq.c33 unsigned int cpuid; /* target cpu */ member
195 int cpuid = handler_data->cpuid; in sun4d_mask_irq() local
201 cc_set_imsk_other(cpuid, cc_get_imsk_other(cpuid) | (1 << real_irq)); in sun4d_mask_irq()
213 int cpuid = handler_data->cpuid; in sun4d_unmask_irq() local
220 cc_set_imsk_other(cpuid, cc_get_imsk_other(cpuid) & ~(1 << real_irq)); in sun4d_unmask_irq()
254 int cpuid = cpu_logical_map(1); in sun4d_distribute_irqs() local
256 if (cpuid == -1) in sun4d_distribute_irqs()
257 cpuid = cpu_logical_map(0); in sun4d_distribute_irqs()
261 board_to_cpu[board] = cpuid; in sun4d_distribute_irqs()
262 set_sbi_tid(devid, cpuid << 3); in sun4d_distribute_irqs()
[all …]
H A Dsmp_32.c179 int i, cpuid, extra; in smp_prepare_cpus() local
184 for (i = 0; !cpu_find_by_instance(i, NULL, &cpuid); i++) { in smp_prepare_cpus()
185 if (cpuid >= NR_CPUS) in smp_prepare_cpus()
239 int cpuid = hard_smp_processor_id(); in smp_prepare_boot_cpu() local
241 if (cpuid >= NR_CPUS) { in smp_prepare_boot_cpu()
245 if (cpuid != 0) in smp_prepare_boot_cpu()
248 current_thread_info()->cpu = cpuid; in smp_prepare_boot_cpu()
249 set_cpu_online(cpuid, true); in smp_prepare_boot_cpu()
250 set_cpu_possible(cpuid, true); in smp_prepare_boot_cpu()
311 unsigned int cpuid = hard_smp_processor_id(); in arch_cpu_pre_online() local
[all …]
/linux/drivers/firmware/imx/
H A Dsm-cpu.c16 int scmi_imx_cpu_reset_vector_set(u32 cpuid, u64 vector, bool start, bool boot, in scmi_imx_cpu_reset_vector_set() argument
22 return imx_cpu_ops->cpu_reset_vector_set(ph, cpuid, vector, start, in scmi_imx_cpu_reset_vector_set()
27 int scmi_imx_cpu_start(u32 cpuid, bool start) in scmi_imx_cpu_start() argument
33 return imx_cpu_ops->cpu_start(ph, cpuid, true); in scmi_imx_cpu_start()
35 return imx_cpu_ops->cpu_start(ph, cpuid, false); in scmi_imx_cpu_start()
39 int scmi_imx_cpu_started(u32 cpuid, bool *started) in scmi_imx_cpu_started() argument
47 return imx_cpu_ops->cpu_started(ph, cpuid, started); in scmi_imx_cpu_started()
/linux/include/uapi/misc/
H A Damd-apml.h30 * CPUID input
31 * [0]...[3] cpuid func,
32 * [4][5] cpuid: thread
33 * [6] cpuid: ext function & read eax/ebx or ecx/edx
36 * CPUID output
40 * Status code for CPUID read
110 * The IOCTL provides userspace access to AMD sideband cpuid protocol
111 * - CPUID protocol to get CPU details for Function/Ext Function
/linux/arch/x86/boot/startup/
H A Dsev-shared.c21 /* Copy of the SNP firmware's CPUID page. */
25 * These will be initialized based on CPUID table so that non-present
221 * directly rather than relying on the base size in the CPUID table.
252 * entries in the CPUID table were not present. This is not a valid in snp_cpuid_calc_xsave_size()
409 * Some hypervisors will avoid keeping track of CPUID entries in snp_cpuid()
413 * work using a single SNP CPUID table. in snp_cpuid()
417 * CPUID table entries are only a template that may need to be in snp_cpuid()
421 * within a valid CPUID range, proceed with post-processing in snp_cpuid()
440 * hypervisor and only the CPUID exit-code.
450 /* Only CPUID is supported via MSR protocol */ in do_vc_no_ghcb()
[all …]
/linux/arch/loongarch/include/asm/
H A Dnuma.h25 extern void __init early_numa_add_cpu(int cpuid, s16 node);
33 static inline void set_cpuid_to_node(int cpuid, s16 node) in set_cpuid_to_node() argument
35 __cpuid_to_node[cpuid] = node; in set_cpuid_to_node()
42 static inline void early_numa_add_cpu(int cpuid, s16 node) { } in early_numa_add_cpu() argument
45 static inline void set_cpuid_to_node(int cpuid, s16 node) { } in set_cpuid_to_node() argument
/linux/tools/testing/selftests/kvm/lib/x86/
H A Dprocessor.c862 * Refresh CPUID after setting SREGS and XCR0, so that KVM's "runtime" in vm_arch_vcpu_add()
863 * updates to guest CPUID, e.g. for OSXSAVE and XSAVE state size, are in vm_arch_vcpu_add()
864 * reflected into selftests' vCPU CPUID cache, i.e. so that the cache in vm_arch_vcpu_add()
882 if (vcpu->cpuid) in vcpu_arch_free()
883 free(vcpu->cpuid); in vcpu_arch_free()
906 static uint32_t __kvm_cpu_has(const struct kvm_cpuid2 *cpuid, in __kvm_cpu_has() argument
913 for (i = 0; i < cpuid->nent; i++) { in __kvm_cpu_has()
914 entry = &cpuid->entries[i]; in __kvm_cpu_has()
928 bool kvm_cpuid_has(const struct kvm_cpuid2 *cpuid, in kvm_cpuid_has() argument
931 return __kvm_cpu_has(cpuid, feature.function, feature.index, in kvm_cpuid_has()
[all …]
/linux/arch/arm/kernel/
H A Dtopology.c177 static inline void update_cpu_capacity(unsigned int cpuid) {} in update_cpu_capacity() argument
185 void store_cpu_topology(unsigned int cpuid) in store_cpu_topology() argument
187 struct cpu_topology *cpuid_topo = &cpu_topology[cpuid]; in store_cpu_topology()
224 update_cpu_capacity(cpuid); in store_cpu_topology()
227 cpuid, cpu_topology[cpuid].thread_id, in store_cpu_topology()
228 cpu_topology[cpuid].core_id, in store_cpu_topology()
229 cpu_topology[cpuid].package_id, mpidr); in store_cpu_topology()
232 update_siblings_masks(cpuid); in store_cpu_topology()

12345678910>>...17