svn commit: r200742 - in stable/7/sys: amd64/amd64 amd64/include
i386/i386 i386/include
Andriy Gapon
avg at FreeBSD.org
Sun Dec 20 01:00:42 UTC 2009
Author: avg
Date: Sun Dec 20 01:00:41 2009
New Revision: 200742
URL: http://svn.freebsd.org/changeset/base/200742
Log:
MFC r197070: Consolidate CPUID to CPU family/model macros for amd64 and i386
This is to fix breakage caused by r200064.
I do this MFC instead of just fixing r200064 to reduce difference from
head and make things easier for future MFCs.
Original change is by jkim.
Pointy hat to: avg
Modified:
stable/7/sys/amd64/amd64/identcpu.c
stable/7/sys/amd64/amd64/initcpu.c
stable/7/sys/amd64/amd64/msi.c
stable/7/sys/amd64/include/specialreg.h
stable/7/sys/i386/i386/identcpu.c
stable/7/sys/i386/i386/msi.c
stable/7/sys/i386/include/specialreg.h
Directory Properties:
stable/7/sys/ (props changed)
stable/7/sys/cddl/contrib/opensolaris/ (props changed)
stable/7/sys/contrib/dev/acpica/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
Modified: stable/7/sys/amd64/amd64/identcpu.c
==============================================================================
--- stable/7/sys/amd64/amd64/identcpu.c Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/amd64/amd64/identcpu.c Sun Dec 20 01:00:41 2009 (r200742)
@@ -371,21 +371,21 @@ printcpuinfo(void)
switch (cpu_vendor_id) {
case CPU_VENDOR_AMD:
if ((amd_pminfo & AMDPM_TSC_INVARIANT) ||
- AMD64_CPU_FAMILY(cpu_id) >= 0x10 ||
+ CPUID_TO_FAMILY(cpu_id) >= 0x10 ||
cpu_id == 0x60fb2)
tsc_is_invariant = 1;
break;
case CPU_VENDOR_INTEL:
if ((amd_pminfo & AMDPM_TSC_INVARIANT) ||
- (AMD64_CPU_FAMILY(cpu_id) == 0x6 &&
- AMD64_CPU_MODEL(cpu_id) >= 0xe) ||
- (AMD64_CPU_FAMILY(cpu_id) == 0xf &&
- AMD64_CPU_MODEL(cpu_id) >= 0x3))
+ (CPUID_TO_FAMILY(cpu_id) == 0x6 &&
+ CPUID_TO_MODEL(cpu_id) >= 0xe) ||
+ (CPUID_TO_FAMILY(cpu_id) == 0xf &&
+ CPUID_TO_MODEL(cpu_id) >= 0x3))
tsc_is_invariant = 1;
break;
case CPU_VENDOR_CENTAUR:
- if (AMD64_CPU_FAMILY(cpu_id) == 0x6 &&
- AMD64_CPU_MODEL(cpu_id) >= 0xf &&
+ if (CPUID_TO_FAMILY(cpu_id) == 0x6 &&
+ CPUID_TO_MODEL(cpu_id) >= 0xf &&
(rdmsr(0x1203) & 0x100000000ULL) == 0)
tsc_is_invariant = 1;
break;
@@ -638,8 +638,8 @@ print_AMD_info(void)
* impratical at this stage, print out a warning string if the broken
* model and family are identified.
*/
- if (AMD64_CPU_FAMILY(cpu_id) == 0xf &&
- AMD64_CPU_MODEL(cpu_id) >= 0x20 && AMD64_CPU_MODEL(cpu_id) <= 0x3f)
+ if (CPUID_TO_FAMILY(cpu_id) == 0xf &&
+ CPUID_TO_MODEL(cpu_id) >= 0x20 && CPUID_TO_MODEL(cpu_id) <= 0x3f)
printf("WARNING: This architecture revision has known SMP "
"hardware bugs which may cause random instability\n");
}
Modified: stable/7/sys/amd64/amd64/initcpu.c
==============================================================================
--- stable/7/sys/amd64/amd64/initcpu.c Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/amd64/amd64/initcpu.c Sun Dec 20 01:00:41 2009 (r200742)
@@ -153,7 +153,7 @@ initializecpu(void)
pg_nx = PG_NX;
}
if (cpu_vendor_id == CPU_VENDOR_CENTAUR &&
- AMD64_CPU_FAMILY(cpu_id) == 0x6 &&
- AMD64_CPU_MODEL(cpu_id) >= 0xf)
+ CPUID_TO_FAMILY(cpu_id) == 0x6 &&
+ CPUID_TO_MODEL(cpu_id) >= 0xf)
init_via();
}
Modified: stable/7/sys/amd64/amd64/msi.c
==============================================================================
--- stable/7/sys/amd64/amd64/msi.c Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/amd64/amd64/msi.c Sun Dec 20 01:00:41 2009 (r200742)
@@ -218,8 +218,8 @@ msi_init(void)
case CPU_VENDOR_AMD:
break;
case CPU_VENDOR_CENTAUR:
- if (AMD64_CPU_FAMILY(cpu_id) == 0x6 &&
- AMD64_CPU_MODEL(cpu_id) >= 0xf)
+ if (CPUID_TO_FAMILY(cpu_id) == 0x6 &&
+ CPUID_TO_MODEL(cpu_id) >= 0xf)
break;
/* FALLTHROUGH */
default:
Modified: stable/7/sys/amd64/include/specialreg.h
==============================================================================
--- stable/7/sys/amd64/include/specialreg.h Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/amd64/include/specialreg.h Sun Dec 20 01:00:41 2009 (r200742)
@@ -169,10 +169,10 @@
#define CPUID_FAMILY 0x00000f00
#define CPUID_EXT_MODEL 0x000f0000
#define CPUID_EXT_FAMILY 0x0ff00000
-#define AMD64_CPU_MODEL(id) \
+#define CPUID_TO_MODEL(id) \
((((id) & CPUID_MODEL) >> 4) | \
(((id) & CPUID_EXT_MODEL) >> 12))
-#define AMD64_CPU_FAMILY(id) \
+#define CPUID_TO_FAMILY(id) \
((((id) & CPUID_FAMILY) >> 8) + \
(((id) & CPUID_EXT_FAMILY) >> 20))
Modified: stable/7/sys/i386/i386/identcpu.c
==============================================================================
--- stable/7/sys/i386/i386/identcpu.c Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/i386/i386/identcpu.c Sun Dec 20 01:00:41 2009 (r200742)
@@ -859,7 +859,7 @@ printcpuinfo(void)
switch (cpu_vendor_id) {
case CPU_VENDOR_AMD:
if ((amd_pminfo & AMDPM_TSC_INVARIANT) ||
- I386_CPU_FAMILY(cpu_id) >= 0x10 ||
+ CPUID_TO_FAMILY(cpu_id) >= 0x10 ||
cpu_id == 0x60fb2)
tsc_is_invariant = 1;
break;
@@ -868,8 +868,8 @@ printcpuinfo(void)
tsc_is_invariant = 1;
break;
case CPU_VENDOR_CENTAUR:
- if (I386_CPU_FAMILY(cpu_id) == 0x6 &&
- I386_CPU_MODEL(cpu_id) >= 0xf &&
+ if (CPUID_TO_FAMILY(cpu_id) == 0x6 &&
+ CPUID_TO_MODEL(cpu_id) >= 0xf &&
(rdmsr(0x1203) & 0x100000000ULL) == 0)
tsc_is_invariant = 1;
break;
@@ -1123,8 +1123,8 @@ finishidentcpu(void)
* XXX This is only done on the BSP package.
*/
if (cpu_vendor_id == CPU_VENDOR_INTEL && cpu_high > 0 && cpu_high < 4 &&
- ((I386_CPU_FAMILY(cpu_id) == 0xf && I386_CPU_MODEL(cpu_id) >= 0x3) ||
- (I386_CPU_FAMILY(cpu_id) == 0x6 && I386_CPU_MODEL(cpu_id) >= 0xe))) {
+ ((CPUID_TO_FAMILY(cpu_id) == 0xf && CPUID_TO_MODEL(cpu_id) >= 0x3) ||
+ (CPUID_TO_FAMILY(cpu_id) == 0x6 && CPUID_TO_MODEL(cpu_id) >= 0xe))) {
uint64_t msr;
msr = rdmsr(MSR_IA32_MISC_ENABLE);
if ((msr & 0x400000ULL) != 0) {
@@ -1331,8 +1331,8 @@ print_AMD_info(void)
* impratical at this stage, print out a warning string if the broken
* model and family are identified.
*/
- if (I386_CPU_FAMILY(cpu_id) == 0xf && I386_CPU_MODEL(cpu_id) >= 0x20 &&
- I386_CPU_MODEL(cpu_id) <= 0x3f)
+ if (CPUID_TO_FAMILY(cpu_id) == 0xf && CPUID_TO_MODEL(cpu_id) >= 0x20 &&
+ CPUID_TO_MODEL(cpu_id) <= 0x3f)
printf("WARNING: This architecture revision has known SMP "
"hardware bugs which may cause random instability\n");
}
Modified: stable/7/sys/i386/i386/msi.c
==============================================================================
--- stable/7/sys/i386/i386/msi.c Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/i386/i386/msi.c Sun Dec 20 01:00:41 2009 (r200742)
@@ -218,8 +218,8 @@ msi_init(void)
case CPU_VENDOR_AMD:
break;
case CPU_VENDOR_CENTAUR:
- if (I386_CPU_FAMILY(cpu_id) == 0x6 &&
- I386_CPU_MODEL(cpu_id) >= 0xf)
+ if (CPUID_TO_FAMILY(cpu_id) == 0x6 &&
+ CPUID_TO_MODEL(cpu_id) >= 0xf)
break;
/* FALLTHROUGH */
default:
Modified: stable/7/sys/i386/include/specialreg.h
==============================================================================
--- stable/7/sys/i386/include/specialreg.h Sat Dec 19 20:50:48 2009 (r200741)
+++ stable/7/sys/i386/include/specialreg.h Sun Dec 20 01:00:41 2009 (r200742)
@@ -166,11 +166,11 @@
#define CPUID_FAMILY 0x00000f00
#define CPUID_EXT_MODEL 0x000f0000
#define CPUID_EXT_FAMILY 0x0ff00000
-#define I386_CPU_MODEL(id) \
+#define CPUID_TO_MODEL(id) \
((((id) & CPUID_MODEL) >> 4) | \
((((id) & CPUID_FAMILY) >= 0x600) ? \
(((id) & CPUID_EXT_MODEL) >> 12) : 0))
-#define I386_CPU_FAMILY(id) \
+#define CPUID_TO_FAMILY(id) \
((((id) & CPUID_FAMILY) >> 8) + \
((((id) & CPUID_FAMILY) == 0xf00) ? \
(((id) & CPUID_EXT_FAMILY) >> 20) : 0))
More information about the svn-src-stable-7
mailing list