summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/ver.h
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2010-02-20 23:24:19 +0000
committermarius <marius@FreeBSD.org>2010-02-20 23:24:19 +0000
commit27efbf647d0328612f1c44a888957c1f15f2b67c (patch)
treee93ca7084184f69831be9ec848380cb2e7a4faf0 /sys/sparc64/include/ver.h
parentbd54d0edd70c92645e019f14c299149217d2a60f (diff)
downloadFreeBSD-src-27efbf647d0328612f1c44a888957c1f15f2b67c.zip
FreeBSD-src-27efbf647d0328612f1c44a888957c1f15f2b67c.tar.gz
Some machines can not only consist of CPUs running at different speeds
but also of different types, f.e. Sun Fire V890 can be equipped with a mix of UltraSPARC IV and IV+ CPUs, requiring different MMU initialization and different workarounds for model specific errata. Therefore move the CPU implementation number from a global variable to the per-CPU data. Functions which are called before the latter is available are passed the implementation number as a parameter now.
Diffstat (limited to 'sys/sparc64/include/ver.h')
-rw-r--r--sys/sparc64/include/ver.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/sys/sparc64/include/ver.h b/sys/sparc64/include/ver.h
index 0fb7933..ad6841b 100644
--- a/sys/sparc64/include/ver.h
+++ b/sys/sparc64/include/ver.h
@@ -43,24 +43,28 @@
#ifndef LOCORE
-#define VER_MANUF_MASK (((1L<<VER_MANUF_SIZE)-1)<<VER_MANUF_SHIFT)
-#define VER_IMPL_MASK (((1L<<VER_IMPL_SIZE)-1)<<VER_IMPL_SHIFT)
-#define VER_MASK_MASK (((1L<<VER_MASK_SIZE)-1)<<VER_MASK_SHIFT)
-#define VER_MAXTL_MASK (((1L<<VER_MAXTL_SIZE)-1)<<VER_MAXTL_SHIFT)
-#define VER_MAXWIN_MASK (((1L<<VER_MAXWIN_SIZE)-1)<<VER_MAXWIN_SHIFT)
+#define VER_MANUF_MASK \
+ (((1UL << VER_MANUF_SIZE) - 1) << VER_MANUF_SHIFT)
+#define VER_IMPL_MASK \
+ (((1UL << VER_IMPL_SIZE) - 1) << VER_IMPL_SHIFT)
+#define VER_MASK_MASK \
+ (((1UL << VER_MASK_SIZE) - 1) << VER_MASK_SHIFT)
+#define VER_MAXTL_MASK \
+ (((1UL << VER_MAXTL_SIZE) - 1) << VER_MAXTL_SHIFT)
+#define VER_MAXWIN_MASK \
+ (((1UL << VER_MAXWIN_SIZE) - 1) << VER_MAXWIN_SHIFT)
-#define VER_MANUF(ver) \
+#define VER_MANUF(ver) \
(((ver) & VER_MANUF_MASK) >> VER_MANUF_SHIFT)
-#define VER_IMPL(ver) \
+#define VER_IMPL(ver) \
(((ver) & VER_IMPL_MASK) >> VER_IMPL_SHIFT)
-#define VER_MASK(ver) \
+#define VER_MASK(ver) \
(((ver) & VER_MASK_MASK) >> VER_MASK_SHIFT)
-#define VER_MAXTL(ver) \
+#define VER_MAXTL(ver) \
(((ver) & VER_MAXTL_MASK) >> VER_MAXTL_SHIFT)
-#define VER_MAXWIN(ver) \
+#define VER_MAXWIN(ver) \
(((ver) & VER_MAXWIN_MASK) >> VER_MAXWIN_SHIFT)
-extern int cpu_impl;
extern char sparc64_model[];
#endif /* !LOCORE */
OpenPOWER on IntegriCloud