Lines Matching defs:info_p
64 cpuid_set_cache_info( i386_cpu_info_t * info_p )
83 ((uint32_t *) info_p->cache_info)[j] = cpuid_result[j];
86 for (i = 1; i < info_p->cache_info[0]; i++) {
87 if (i*16 > sizeof(info_p->cache_info))
93 ((uint32_t *) info_p->cache_info)[4*i+j] =
128 info_p->cpuid_cores_per_package
159 info_p->cache_size[type] = cache_size;
160 info_p->cache_sharing[type] = cache_sharing;
161 info_p->cache_partitions[type] = cache_partitions;
196 if (info_p->cpuid_cores_per_package == 0) {
197 info_p->cpuid_cores_per_package = 1;
200 info_p->cache_size[L2U] = info_p->cpuid_cache_size * 1024;
201 info_p->cache_sharing[L2U] = 1;
202 info_p->cache_partitions[L2U] = 1;
204 linesizes[L2U] = info_p->cpuid_cache_linesize;
212 info_p->cache_linesize = linesizes[L2U];
214 info_p->cache_linesize = linesizes[L1D];
220 for (i = 1; i < sizeof(info_p->cache_info); i++) {
221 uint8_t desc = info_p->cache_info[i];
225 info_p->cpuid_itlb_small = 32;
228 info_p->cpuid_itlb_large = 2;
231 info_p->cpuid_dtlb_small = 64;
234 info_p->cpuid_dtlb_large = 8;
237 info_p->cpuid_dtlb_large = 32;
240 info_p->cpuid_itlb_small = 64;
241 info_p->cpuid_itlb_large = 64;
244 info_p->cpuid_itlb_small = 128;
245 info_p->cpuid_itlb_large = 128;
248 info_p->cpuid_itlb_small = 256;
249 info_p->cpuid_itlb_large = 256;
252 info_p->cpuid_dtlb_small = 64;
253 info_p->cpuid_dtlb_large = 64;
256 info_p->cpuid_dtlb_small = 128;
257 info_p->cpuid_dtlb_large = 128;
260 info_p->cpuid_dtlb_small = 256;
261 info_p->cpuid_dtlb_large = 256;
264 info_p->cpuid_itlb_large = 7;
267 info_p->cpuid_dtlb_small = 16;
270 info_p->cpuid_dtlb_large = 32;
273 info_p->cpuid_itlb_small = 128;
276 info_p->cpuid_itlb_large = 8;
279 info_p->cpuid_dtlb_small = 128;
282 info_p->cpuid_dtlb_small = 256;
289 cpuid_set_generic_info(i386_cpu_info_t *info_p)
297 bcopy((char *)&cpuid_reg[ebx], &info_p->cpuid_vendor[0], 4); /* ug */
298 bcopy((char *)&cpuid_reg[ecx], &info_p->cpuid_vendor[8], 4);
299 bcopy((char *)&cpuid_reg[edx], &info_p->cpuid_vendor[4], 4);
300 info_p->cpuid_vendor[12] = 0;
321 strlcpy(info_p->cpuid_brand_string,
322 p, sizeof(info_p->cpuid_brand_string));
324 if (!strncmp(info_p->cpuid_brand_string, CPUID_STRING_UNKNOWN,
325 min(sizeof(info_p->cpuid_brand_string),
331 info_p->cpuid_brand_string[0] = '\0';
338 info_p->cpuid_cache_linesize = bitfield(cpuid_reg[ecx], 7, 0);
339 info_p->cpuid_cache_L2_associativity =
341 info_p->cpuid_cache_size = bitfield(cpuid_reg[ecx],31,16);
343 info_p->cpuid_address_bits_physical =
345 info_p->cpuid_address_bits_virtual =
351 info_p->cpuid_signature = cpuid_reg[eax];
352 info_p->cpuid_stepping = bitfield(cpuid_reg[eax], 3, 0);
353 info_p->cpuid_model = bitfield(cpuid_reg[eax], 7, 4);
354 info_p->cpuid_family = bitfield(cpuid_reg[eax], 11, 8);
355 info_p->cpuid_type = bitfield(cpuid_reg[eax], 13, 12);
356 info_p->cpuid_extmodel = bitfield(cpuid_reg[eax], 19, 16);
357 info_p->cpuid_extfamily = bitfield(cpuid_reg[eax], 27, 20);
358 info_p->cpuid_brand = bitfield(cpuid_reg[ebx], 7, 0);
359 info_p->cpuid_features = quad(cpuid_reg[ecx], cpuid_reg[edx]);
362 if (info_p->cpuid_family == 0x0f)
363 info_p->cpuid_family += info_p->cpuid_extfamily;
364 if (info_p->cpuid_family == 0x0f || info_p->cpuid_family == 0x06)
365 info_p->cpuid_model += (info_p->cpuid_extmodel << 4);
367 if (info_p->cpuid_features & CPUID_FEATURE_HTT)
368 info_p->cpuid_logical_per_package =
371 info_p->cpuid_logical_per_package = 1;
375 info_p->cpuid_extfeatures =
382 info_p->cpuid_extfeatures |=
387 info_p->cpuid_microcode_version =
390 if (info_p->cpuid_model == CPUID_MODEL_NEHALEM) {
396 info_p->core_count = bitfield(msr_core_thread_count, 31, 16);
397 info_p->thread_count = bitfield(msr_core_thread_count, 15, 0);
400 if (info_p->cpuid_features & CPUID_FEATURE_MONITOR) {
405 info_p->cpuid_mwait_linesize_min = cpuid_reg[eax];
406 info_p->cpuid_mwait_linesize_max = cpuid_reg[ebx];
407 info_p->cpuid_mwait_extensions = cpuid_reg[ecx];
408 info_p->cpuid_mwait_sub_Cstates = cpuid_reg[edx];
414 info_p->cpuid_thermal_sensor =
416 info_p->cpuid_thermal_dynamic_acceleration =
418 info_p->cpuid_thermal_thresholds =
420 info_p->cpuid_thermal_ACNT_MCNT =
427 info_p->cpuid_arch_perf_version =
429 info_p->cpuid_arch_perf_number =
431 info_p->cpuid_arch_perf_width =
433 info_p->cpuid_arch_perf_events_number =
435 info_p->cpuid_arch_perf_events =
437 info_p->cpuid_arch_perf_fixed_number =
439 info_p->cpuid_arch_perf_fixed_width =