svn commit: r285743 - head/sys/arm64/include
Zbigniew Bodek
zbb at FreeBSD.org
Tue Jul 21 12:15:01 UTC 2015
Author: zbb
Date: Tue Jul 21 12:15:00 2015
New Revision: 285743
URL: https://svnweb.freebsd.org/changeset/base/285743
Log:
Improve ARM64 CPU_MATCH
Add a method to identify CPU based on RAW MIDR value.
Obtained from: Semihalf
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3117
Modified:
head/sys/arm64/include/cpu.h
Modified: head/sys/arm64/include/cpu.h
==============================================================================
--- head/sys/arm64/include/cpu.h Tue Jul 21 10:52:05 2015 (r285742)
+++ head/sys/arm64/include/cpu.h Tue Jul 21 12:15:00 2015 (r285743)
@@ -92,10 +92,17 @@
#define CPU_VAR_MASK (0xf << 20)
#define CPU_REV_MASK (0xf << 0)
-#define CPU_MATCH(mask, impl, part, var, rev) \
- (((mask) & PCPU_GET(midr)) == (CPU_IMPL_TO_MIDR((impl)) | \
- CPU_PART_TO_MIDR((part)) | CPU_VAR_TO_MIDR((var)) | \
- CPU_REV_TO_MIDR((rev))))
+#define CPU_ID_RAW(impl, part, var, rev) \
+ (CPU_IMPL_TO_MIDR((impl)) | \
+ CPU_PART_TO_MIDR((part)) | CPU_VAR_TO_MIDR((var)) | \
+ CPU_REV_TO_MIDR((rev)))
+
+#define CPU_MATCH(mask, impl, part, var, rev) \
+ (((mask) & PCPU_GET(midr)) == \
+ ((mask) & CPU_ID_RAW((impl), (part), (var), (rev))))
+
+#define CPU_MATCH_RAW(mask, devid) \
+ (((mask) & PCPU_GET(midr)) == ((mask) & (devid)))
extern char btext[];
extern char etext[];
More information about the svn-src-all
mailing list