Add a hw.model sysctl oid for armv6/7 which reports the CPU model, similar
to what other arches (all except riscv and armv4/5) do. Submitted by: Hyun Hwang <hyun@caffeinated.codes> Differential Revision: https://reviews.freebsd.org/D14465
This commit is contained in:
parent
925ee294ea
commit
e5c6bca6ba
@ -56,6 +56,10 @@ char machine[] = "arm";
|
|||||||
SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD,
|
SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD,
|
||||||
machine, 0, "Machine class");
|
machine, 0, "Machine class");
|
||||||
|
|
||||||
|
static char cpu_model[64];
|
||||||
|
SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD,
|
||||||
|
cpu_model, sizeof(cpu_model), "Machine model");
|
||||||
|
|
||||||
static char hw_buf[81];
|
static char hw_buf[81];
|
||||||
static int hw_buf_idx;
|
static int hw_buf_idx;
|
||||||
static bool hw_buf_newline;
|
static bool hw_buf_newline;
|
||||||
@ -285,11 +289,13 @@ identify_arm_cpu(void)
|
|||||||
if (cpu_names[i].implementer == cpuinfo.implementer &&
|
if (cpu_names[i].implementer == cpuinfo.implementer &&
|
||||||
cpu_names[i].part_number == cpuinfo.part_number) {
|
cpu_names[i].part_number == cpuinfo.part_number) {
|
||||||
cpu_class = cpu_names[i].cpu_class;
|
cpu_class = cpu_names[i].cpu_class;
|
||||||
printf("CPU: %s %s r%dp%d (ECO: 0x%08X)\n",
|
snprintf(cpu_model, sizeof(cpu_model),
|
||||||
|
"%s %s r%dp%d (ECO: 0x%08X)",
|
||||||
cpu_names[i].impl_name, cpu_names[i].core_name,
|
cpu_names[i].impl_name, cpu_names[i].core_name,
|
||||||
cpuinfo.revision, cpuinfo.patch,
|
cpuinfo.revision, cpuinfo.patch,
|
||||||
cpuinfo.midr != cpuinfo.revidr ?
|
cpuinfo.midr != cpuinfo.revidr ?
|
||||||
cpuinfo.revidr : 0);
|
cpuinfo.revidr : 0);
|
||||||
|
printf("CPU: %s\n", cpu_model);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user