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