Identify UltraSPARC-III and UltraSPARC-III+ cpus.

This commit is contained in:
Jake Burkholder 2002-07-13 03:23:29 +00:00
parent 63c9e754e0
commit 5d5d3157fb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=99896
2 changed files with 15 additions and 3 deletions

View File

@ -66,5 +66,7 @@ extern int cpu_impl;
#define CPU_IMPL_ULTRASPARCII 0x11
#define CPU_IMPL_ULTRASPARCIIi 0x12
#define CPU_IMPL_ULTRASPARCIIe 0x13
#define CPU_IMPL_ULTRASPARCIII 0x14
#define CPU_IMPL_ULTRASPARCIIIp 0x15
#endif /* !_MACHINE_VER_H_ */

View File

@ -33,9 +33,6 @@ cpu_identify(u_long vers, u_int freq, u_int id)
const char *manus;
const char *impls;
manus = NULL;
impls = NULL;
switch (VER_MANUF(vers)) {
case 0x04:
manus = "HAL";
@ -43,8 +40,12 @@ cpu_identify(u_long vers, u_int freq, u_int id)
case 0x13:
case 0x17:
case 0x22:
case 0x3e:
manus = "Sun Microsystems";
break;
default:
manus = NULL;
break;
}
cpu_impl = VER_IMPL(vers);
switch (cpu_impl) {
@ -64,6 +65,15 @@ cpu_identify(u_long vers, u_int freq, u_int id)
/* V9 Manual says `UltraSparc-e'. I assume this is wrong. */
impls = "UltraSparc-IIe";
break;
case CPU_IMPL_ULTRASPARCIII:
impls = "UltraSparc-III";
break;
case CPU_IMPL_ULTRASPARCIIIp:
impls = "UltraSparc-III+";
break;
default:
impls = NULL;
break;
}
if (manus == NULL || impls == NULL) {
printf(