Page MenuHomeFreeBSD

D43281.id132160.diff
No OneTemporary

D43281.id132160.diff

diff --git a/sys/arm/arm/identcpu-v6.c b/sys/arm/arm/identcpu-v6.c
--- a/sys/arm/arm/identcpu-v6.c
+++ b/sys/arm/arm/identcpu-v6.c
@@ -55,7 +55,7 @@
machine, 0, "Machine class");
static char cpu_model[64];
-SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD,
+SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD,
cpu_model, sizeof(cpu_model), "Machine model");
static char hw_buf[81];
diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c
--- a/sys/arm64/arm64/identcpu.c
+++ b/sys/arm64/arm64/identcpu.c
@@ -108,7 +108,7 @@
"Machine class");
static char cpu_model[64];
-SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD,
+SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD,
cpu_model, sizeof(cpu_model), "Machine model");
#define MAX_CACHES 8 /* Maximum number of caches supported
diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c
--- a/sys/compat/linprocfs/linprocfs.c
+++ b/sys/compat/linprocfs/linprocfs.c
@@ -199,10 +199,7 @@
static int
linprocfs_docpuinfo(PFS_FILL_ARGS)
{
- int hw_model[2];
- char model[128];
uint64_t freq;
- size_t size;
u_int cache_size[4];
u_int regs[4] = { 0 };
int fqmhz, fqkhz;
@@ -302,12 +299,6 @@
"acc_power",
};
- hw_model[0] = CTL_HW;
- hw_model[1] = HW_MODEL;
- model[0] = '\0';
- size = sizeof(model);
- if (kernel_sysctl(td, hw_model, 2, &model, &size, 0, 0, 0, 0) != 0)
- strcpy(model, "unknown");
#ifdef __i386__
switch (cpu_vendor_id) {
case CPU_VENDOR_AMD:
@@ -351,7 +342,7 @@
"cpuid level\t: %d\n"
"wp\t\t: %s\n",
i, cpu_vendor, CPUID_TO_FAMILY(cpu_id),
- CPUID_TO_MODEL(cpu_id), model, cpu_id & CPUID_STEPPING,
+ CPUID_TO_MODEL(cpu_id), cpu_model, cpu_id & CPUID_STEPPING,
fqmhz, fqkhz,
(cache_size[2] >> 16), 0, mp_ncpus, i, mp_ncpus,
i, i, /*cpu_id & CPUID_LOCAL_APIC_ID ??*/
diff --git a/sys/powerpc/powerpc/cpu.c b/sys/powerpc/powerpc/cpu.c
--- a/sys/powerpc/powerpc/cpu.c
+++ b/sys/powerpc/powerpc/cpu.c
@@ -239,7 +239,7 @@
static int cpu_feature_bit(SYSCTL_HANDLER_ARGS);
static char model[64];
-SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, model, 0, "");
+SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, model, 0, "");
static const struct cputab *cput;
diff --git a/sys/x86/include/x86_var.h b/sys/x86/include/x86_var.h
--- a/sys/x86/include/x86_var.h
+++ b/sys/x86/include/x86_var.h
@@ -58,6 +58,7 @@
extern u_int cpu_procinfo;
extern u_int cpu_procinfo2;
extern char cpu_vendor[];
+extern char cpu_model[];
extern u_int cpu_vendor_id;
extern u_int cpu_mon_mwait_flags;
extern u_int cpu_mon_min_size;
diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c
--- a/sys/x86/x86/identcpu.c
+++ b/sys/x86/x86/identcpu.c
@@ -157,8 +157,8 @@
machine, 0, "Machine class");
#endif
-static char cpu_model[128];
-SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_MPSAFE,
+char cpu_model[128];
+SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD | CTLFLAG_MPSAFE,
cpu_model, 0, "Machine model");
static int hw_clockrate;

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 19, 8:37 AM (20 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14261985
Default Alt Text
D43281.id132160.diff (3 KB)

Event Timeline