/**
* $Id: k10s_kstats.c 755 2012-06-25 06:15:47Z elkner $
*
* * CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each file.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* All Rights reserved.
* CDDL HEADER END
*/
/*
* Copyright (c) 2011,2012 by Jens Elkner,
* Otto-von-Guericke Universitaet Magdeburg. All rights reserved.
*/
#include "k10s_kstats.h"
#ifdef SDEBUG
#else
#endif
/* needs to be aligned with k10s_kstats.h:k10s_stats_offset_t */
{ "Silicon CPU Revision", KSTAT_DATA_CHAR },
{ "Family", KSTAT_DATA_CHAR },
{ "Erratum", KSTAT_DATA_UINT32 },
{ "Thermtrip", KSTAT_DATA_CHAR },
{ "HTC capable", KSTAT_DATA_CHAR },
{ "T Case/Die Max [C/1000]", KSTAT_DATA_INT32 },
{ "T Diode Offset [C/1000]", KSTAT_DATA_INT32 },
{ "HTC", KSTAT_DATA_CHAR },
{ "HTC slew-controlled", KSTAT_DATA_CHAR },
{ "HTC Limit [C/1000]", KSTAT_DATA_INT32 },
{ "HTC Hysteresis [C/1000]", KSTAT_DATA_INT32 },
{ "STC", KSTAT_DATA_CHAR },
{ "STC slew-controlled", KSTAT_DATA_CHAR },
{ "STC Limit [C/1000]", KSTAT_DATA_INT32 },
{ "STC Hysteresis [C/1000]", KSTAT_DATA_INT32 },
};
static int
if (rw == KSTAT_WRITE) {
return (EACCES);
}
return (ENXIO);
}
return 0;
}
static int
}
static int
}
void
int i;
cpu_vars_t *v = k10p->v;
KSTAT_TYPE_NAMED, ks_ndata, 0);
return;
}
/* 12h, 14h */
knp += KS_ATC_ENABLED;
}
}
/* init data */
v->xfamilyModel, v->modelStepping);
KSTAT_TYPE_NAMED, 1, 0);
}
KSTAT_TYPE_NAMED, 1, 0);
}
} else if (v->xfamilyModel >= 0x04) {
KSTAT_TYPE_NAMED, 1, 0);
}
}
}
void
}
}
}
}