aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/include/cpu.h
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2022-11-14 15:48:43 +0000
committerAndrew Turner <andrew@FreeBSD.org>2022-11-15 17:26:52 +0000
commit80ba994bfacd8a843af4eb9cb7558b62e8de26ee (patch)
treeb439d76265bae9da1b4a00f5ba68cd23bfa118c6 /sys/arm64/include/cpu.h
parent60bae7ec045a8af6e9c51ac080e51948fe84bb4d (diff)
downloadsrc-80ba994bfacd8a843af4eb9cb7558b62e8de26ee.tar.gz
src-80ba994bfacd8a843af4eb9cb7558b62e8de26ee.zip
Add the arch field to the arm64 MIDR macros
For completeness add accessors for the MIDR field. As the field is always 0xf on arm64 it is unneeded in the current MICR handling, but will be used in the vmm module for bhyve. Obtained from: https://github.com/FreeBSD-UPB/freebsd-src (earlier version) Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/arm64/include/cpu.h')
-rw-r--r--sys/arm64/include/cpu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h
index 7dee5fa4cd25..2318c9d54cf3 100644
--- a/sys/arm64/include/cpu.h
+++ b/sys/arm64/include/cpu.h
@@ -129,16 +129,19 @@
#define CPU_IMPL(midr) (((midr) >> 24) & 0xff)
#define CPU_PART(midr) (((midr) >> 4) & 0xfff)
#define CPU_VAR(midr) (((midr) >> 20) & 0xf)
+#define CPU_ARCH(midr) (((midr) >> 16) & 0xf)
#define CPU_REV(midr) (((midr) >> 0) & 0xf)
#define CPU_IMPL_TO_MIDR(val) (((val) & 0xff) << 24)
#define CPU_PART_TO_MIDR(val) (((val) & 0xfff) << 4)
#define CPU_VAR_TO_MIDR(val) (((val) & 0xf) << 20)
+#define CPU_ARCH_TO_MIDR(val) (((val) & 0xf) << 16)
#define CPU_REV_TO_MIDR(val) (((val) & 0xf) << 0)
#define CPU_IMPL_MASK (0xff << 24)
#define CPU_PART_MASK (0xfff << 4)
#define CPU_VAR_MASK (0xf << 20)
+#define CPU_ARCH_MASK (0xf << 16)
#define CPU_REV_MASK (0xf << 0)
#define CPU_ID_RAW(impl, part, var, rev) \