aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Moestl <tmm@FreeBSD.org>2002-02-13 15:47:12 +0000
committerThomas Moestl <tmm@FreeBSD.org>2002-02-13 15:47:12 +0000
commit68716de3ec466e05afa9b492b48c303e85f24b41 (patch)
treeddc75a5b9c251efd4281af2eae13c351b2873e48
parent95c7d7d47e96f4db32a440629f6bfe2d13702d84 (diff)
downloadsrc-68716de3ec466e05afa9b492b48c303e85f24b41.tar.gz
src-68716de3ec466e05afa9b492b48c303e85f24b41.zip
Define constants for the CPU implementation id; export the dectected id
as cpu_impl.
Notes
Notes: svn path=/head/; revision=90614
-rw-r--r--sys/sparc64/include/ver.h9
-rw-r--r--sys/sparc64/sparc64/identcpu.c15
2 files changed, 18 insertions, 6 deletions
diff --git a/sys/sparc64/include/ver.h b/sys/sparc64/include/ver.h
index 4d98355889c8..207c3ce9de92 100644
--- a/sys/sparc64/include/ver.h
+++ b/sys/sparc64/include/ver.h
@@ -58,4 +58,13 @@
#define VER_MAXWIN(ver) \
(((ver) & VER_MAXWIN_MASK) >> VER_MAXWIN_SHIFT)
+extern int cpu_impl;
+
+/* Known implementations. */
+#define CPU_IMPL_SPARC64 0x01
+#define CPU_IMPL_ULTRASPARCI 0x10
+#define CPU_IMPL_ULTRASPARCII 0x11
+#define CPU_IMPL_ULTRASPARCIIi 0x12
+#define CPU_IMPL_ULTRASPARCIIe 0x13
+
#endif /* !_MACHINE_VER_H_ */
diff --git a/sys/sparc64/sparc64/identcpu.c b/sys/sparc64/sparc64/identcpu.c
index 9cdd7d0bb371..45b5d0f9af67 100644
--- a/sys/sparc64/sparc64/identcpu.c
+++ b/sys/sparc64/sparc64/identcpu.c
@@ -25,6 +25,8 @@ static char cpu_model[128];
SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD,
cpu_model, 0, "Machine model");
+int cpu_impl;
+
void
cpu_identify(unsigned int freq)
{
@@ -46,20 +48,21 @@ cpu_identify(unsigned int freq)
manus = "Sun Microsystems";
break;
}
- switch (VER_IMPL(vers)) {
- case 0x01:
+ cpu_impl = VER_IMPL(vers);
+ switch (cpu_impl) {
+ case CPU_IMPL_SPARC64:
impls = "SPARC64";
break;
- case 0x10:
+ case CPU_IMPL_ULTRASPARCI:
impls = "UltraSparc-I";
break;
- case 0x11:
+ case CPU_IMPL_ULTRASPARCII:
impls = "UltraSparc-II";
break;
- case 0x12:
+ case CPU_IMPL_ULTRASPARCIIi:
impls = "UltraSparc-IIi";
break;
- case 0x13:
+ case CPU_IMPL_ULTRASPARCIIe:
/* V9 Manual says `UltraSparc-e'. I assume this is wrong. */
impls = "UltraSparc-IIe";
break;