Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F133543929
D25673.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D25673.diff
View Options
Index: head/sys/dev/coretemp/coretemp.c
===================================================================
--- head/sys/dev/coretemp/coretemp.c
+++ head/sys/dev/coretemp/coretemp.c
@@ -166,7 +166,7 @@
sc->sc_dev = dev;
pdev = device_get_parent(dev);
cpu_model = CPUID_TO_MODEL(cpu_id);
- cpu_stepping = cpu_id & CPUID_STEPPING;
+ cpu_stepping = CPUID_TO_STEPPING(cpu_id);
/*
* Some CPUs, namely the PIII, don't have thermal sensors, but
Index: head/sys/dev/hwpmc/hwpmc_amd.c
===================================================================
--- head/sys/dev/hwpmc/hwpmc_amd.c
+++ head/sys/dev/hwpmc/hwpmc_amd.c
@@ -1073,7 +1073,7 @@
enum pmc_cputype cputype;
struct pmc_mdep *pmc_mdep;
enum pmc_class class;
- int model, stepping;
+ int family, model, stepping;
char *name;
/*
@@ -1085,14 +1085,16 @@
*/
name = NULL;
- model = ((cpu_id & 0xF0000) >> 12) | ((cpu_id & 0xF0) >> 4);
- stepping = cpu_id & 0xF;
- if (CPUID_TO_FAMILY(cpu_id) == 0x17)
- snprintf(pmc_cpuid, sizeof(pmc_cpuid), "AuthenticAMD-%d-%02X-%X",
- CPUID_TO_FAMILY(cpu_id), model, stepping);
- if (CPUID_TO_FAMILY(cpu_id) == 0x18)
+ family = CPUID_TO_FAMILY(cpu_id);
+ model = CPUID_TO_MODEL(cpu_id);
+ stepping = CPUID_TO_STEPPING(cpu_id);
+
+ if (family == 0x18)
snprintf(pmc_cpuid, sizeof(pmc_cpuid), "HygonGenuine-%d-%02X-%X",
- CPUID_TO_FAMILY(cpu_id), model, stepping);
+ family, model, stepping);
+ else
+ snprintf(pmc_cpuid, sizeof(pmc_cpuid), "AuthenticAMD-%d-%02X-%X",
+ family, model, stepping);
switch (cpu_id & 0xF00) {
#if defined(__i386__)
Index: head/sys/dev/hwpmc/hwpmc_intel.c
===================================================================
--- head/sys/dev/hwpmc/hwpmc_intel.c
+++ head/sys/dev/hwpmc/hwpmc_intel.c
@@ -80,7 +80,7 @@
{
struct pmc_mdep *pmc_mdep;
enum pmc_cputype cputype;
- int error, model, nclasses, ncpus, stepping, verov;
+ int error, family, model, nclasses, ncpus, stepping, verov;
KASSERT(cpu_vendor_id == CPU_VENDOR_INTEL,
("[intel,%d] Initializing non-intel processor", __LINE__));
@@ -91,11 +91,13 @@
nclasses = 2;
error = 0;
verov = 0;
- model = ((cpu_id & 0xF0000) >> 12) | ((cpu_id & 0xF0) >> 4);
- stepping = cpu_id & 0xF;
+ family = CPUID_TO_FAMILY(cpu_id);
+ model = CPUID_TO_MODEL(cpu_id);
+ stepping = CPUID_TO_STEPPING(cpu_id);
snprintf(pmc_cpuid, sizeof(pmc_cpuid), "GenuineIntel-%d-%02X-%X",
- (cpu_id & 0xF00) >> 8, model, stepping);
+ family, model, stepping);
+
switch (cpu_id & 0xF00) {
case 0x600: /* Pentium Pro, Celeron, Pentium II & III */
switch (model) {
Index: head/sys/x86/include/specialreg.h
===================================================================
--- head/sys/x86/include/specialreg.h
+++ head/sys/x86/include/specialreg.h
@@ -280,6 +280,7 @@
((((id) & CPUID_FAMILY) >> 8) + \
(((id) & CPUID_EXT_FAMILY) >> 20))
#endif
+#define CPUID_TO_STEPPING(id) ((id) & CPUID_STEPPING)
/*
* CPUID instruction 1 ebx info
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Oct 27, 1:26 PM (2 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24296042
Default Alt Text
D25673.diff (2 KB)
Attached To
Mode
D25673: hwpmc: Always set pmc_cpuid to something
Attached
Detach File
Event Timeline
Log In to Comment