turbo_info
turbo_info_t *turbo_info;
turbo_info = &turbo_snapshot[cpu];
turbo_info->t_mcnt = knp->value.ui64;
turbo_info->t_acnt = knp->value.ui64;
update_turbo_info(cpupm_mach_turbo_info_t *turbo_info)
turbo_info->t_mcnt += mcnt;
turbo_info->t_acnt += acnt;
get_turbo_info(cpupm_mach_turbo_info_t *turbo_info)
turbo_info->t_mcnt += mcnt;
turbo_info->t_acnt += acnt;
cpupm_record_turbo_info(cpupm_mach_turbo_info_t *turbo_info,
if (!turbo_info->turbo_supported)
turbo_info->in_turbo = CPU_IN_TURBO;
turbo_info->in_turbo = 0;
get_turbo_info(turbo_info);
cpupm_mach_turbo_info_t *turbo_info;
turbo_info = kmem_zalloc(sizeof (cpupm_mach_turbo_info_t), KM_SLEEP);
turbo_info->turbo_supported = 1;
turbo_info->turbo_ksp = kstat_create("turbo", cp->cpu_id,
if (turbo_info->turbo_ksp == NULL) {
turbo_info->turbo_ksp->ks_data = &turbo_kstat;
turbo_info->turbo_ksp->ks_lock = &turbo_mutex;
turbo_info->turbo_ksp->ks_update = turbo_kstat_update;
turbo_info->turbo_ksp->ks_data_size += MAXNAMELEN;
turbo_info->turbo_ksp->ks_private = turbo_info;
kstat_install(turbo_info->turbo_ksp);
return (turbo_info);
cpupm_turbo_fini(cpupm_mach_turbo_info_t *turbo_info)
if (turbo_info->turbo_ksp != NULL)
kstat_delete(turbo_info->turbo_ksp);
kmem_free(turbo_info, sizeof (cpupm_mach_turbo_info_t));
cpupm_mach_turbo_info_t *turbo_info = ksp->ks_private;
if (turbo_info->in_turbo == CPU_IN_TURBO)
update_turbo_info(turbo_info);
turbo_info->turbo_supported;
turbo_kstat.t_mcnt.value.ui64 = turbo_info->t_mcnt;
turbo_kstat.t_acnt.value.ui64 = turbo_info->t_acnt;