cputype
u_int cputype;
cputype = cp15_midr_get();
cputype &= CPU_ID_CPU_MASK;
switch(cputype & CPU_ID_SCHEME_MASK) {
if (cputype == CPU_ID_MV88SV581X_V7 ||
cputype == CPU_ID_MV88SV584X_V7 ||
cputype == CPU_ID_ARM_88SV581X_V7) {
panic("No support for this CPU type (%08x) in kernel", cputype);
extern u_int cputype;
cputype &= CPU_ID_CPU_MASK;
if (cputype == CPU_ID_MV88SV584X_V7)
uint32_t cputype;
cputype = cp15_midr_get();
uint32_t reg, *src, *dst, cpu_num, div_val, cputype;
cputype = cp15_midr_get();
cputype &= CPU_ID_CPU_MASK;
if (cputype == CPU_ID_MV88SV584X_V7) {
enum pmc_cputype cputype;
cputype = PMC_CPU_AMD_K8;
pmc_mdep->pmd_cputype = cputype;
cputype = PMC_CPU_INTEL_CORE;
cputype = PMC_CPU_INTEL_CORE;
cputype = PMC_CPU_INTEL_CORE2;
cputype = PMC_CPU_INTEL_CORE2EXTREME;
cputype = PMC_CPU_INTEL_COREI7;
cputype = PMC_CPU_INTEL_NEHALEM_EX;
cputype = PMC_CPU_INTEL_WESTMERE;
cputype = PMC_CPU_INTEL_WESTMERE_EX;
cputype = PMC_CPU_INTEL_SANDYBRIDGE;
cputype = PMC_CPU_INTEL_SANDYBRIDGE_XEON;
cputype = PMC_CPU_INTEL_IVYBRIDGE;
cputype = PMC_CPU_INTEL_IVYBRIDGE_XEON;
cputype = PMC_CPU_INTEL_BROADWELL;
cputype = PMC_CPU_INTEL_BROADWELL_XEON;
cputype = PMC_CPU_INTEL_HASWELL;
cputype = PMC_CPU_INTEL_HASWELL_XEON;
cputype = PMC_CPU_INTEL_SKYLAKE;
cputype = PMC_CPU_INTEL_SKYLAKE_XEON;
cputype = PMC_CPU_INTEL_ICELAKE;
cputype = PMC_CPU_INTEL_ICELAKE_XEON;
cputype = PMC_CPU_INTEL_ALDERLAKE;
cputype = PMC_CPU_INTEL_ATOM;
cputype = PMC_CPU_INTEL_ATOM_SILVERMONT;
cputype = PMC_CPU_INTEL_ATOM_GOLDMONT;
cputype = PMC_CPU_INTEL_ATOM_GOLDMONT_P;
cputype = PMC_CPU_INTEL_ATOM_TREMONT;
cputype = PMC_CPU_INTEL_METEOR_LAKE;
cputype = PMC_CPU_INTEL_GRANITE_RAPIDS;
cputype = PMC_CPU_INTEL_ALDERLAKEN;
cputype = PMC_CPU_INTEL_EMERALD_RAPIDS;
if ((int) cputype == -1) {
pmc_mdep->pmd_cputype = cputype;
switch (cputype) {
enum pmc_cputype cputype;
cputype = -1;
SLIST_ENTRY(cputype) cpu_next;
extern SLIST_HEAD(cputype_head, cputype) cputype;
struct cputype *cp =
(struct cputype *)calloc(1, sizeof (struct cputype));
SLIST_INSERT_HEAD(&cputype, cp, cpu_next);
struct cputype *cp, *cp2;
SLIST_FOREACH_SAFE(cp, &cputype, cpu_next, cp2) {
SLIST_REMOVE(&cputype, cp, cputype, cpu_next);
SLIST_INIT(&cputype);
if (SLIST_EMPTY(&cputype)) {
struct cputype *cput;
SLIST_FOREACH(cput, &cputype, cpu_next)
struct cputype_head cputype;
struct cputype *cp;
SLIST_FOREACH(cp, &cputype, cpu_next) {
strcpy(the_cpu.cputype, "SandyBridge PMC");
strcpy(the_cpu.cputype, "IvyBridge PMC");
char cputype[32];
strcpy(the_cpu.cputype, "HASWELL PMC");
strcpy(the_cpu.cputype, "HASWELL PMC");
the_cpu.cputype, name);
printf("For CPU's of type %s the following expressions are available:\n",the_cpu.cputype);