retire Rise CPU identification code
authordaniel <daniel@openbsd.org>
Wed, 27 Jul 2022 01:44:25 +0000 (01:44 +0000)
committerdaniel <daniel@openbsd.org>
Wed, 27 Jul 2022 01:44:25 +0000 (01:44 +0000)
The Rise mp6 was an x86 compatible CPU that was available for about
a year from 1998 to 1999. Only the Kirin core was ever available
while the Lynx core did not make it to market. Shortly after this
CPU was released, SiS acquired Rise's technology and integrated it
into their SiS55x SoC which used a different vendor string.

Given how uncommon Rise CPUs are and given that we don't do anything
if we detect such a CPU, remove the small amount of code used to
identify them. OpenBSD should continue to run on these CPUs, they
just won't be recognized as Rise CPUs explicitly.

It is suspected that in the current code, a Rise CPU would not show
CX8 in the dmesg despite supporting the CMPXCHG8B instruction. The
Rise datasheet says that this cpuid feature bit is set to 0 to
"circumvent a reported bug in Windows NT". This is only a cosmetic
issue though as our kernel does not use CMPXCHG8B and our toolchain
assumes it exists (we default to -march=i586).

An interesting writeup on this topic is available here:

https://www.geoffchappell.com/studies/windows/km/cpu/cx8.htm

ok mlarkin@, deraadt@, jsg@

sys/arch/i386/i386/machdep.c
sys/arch/i386/include/cputypes.h

index 2bfddd6..9b0f5db 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: machdep.c,v 1.650 2022/07/12 05:45:49 jsg Exp $       */
+/*     $OpenBSD: machdep.c,v 1.651 2022/07/27 01:44:25 daniel Exp $    */
 /*     $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $    */
 
 /*-
@@ -781,41 +781,6 @@ const struct cpu_cpuid_nameclass i386_cpuid_cpus[] = {
                        cyrix3_cpu_setup
                } }
        },
-       {
-               "RiseRiseRise",
-               CPUVENDOR_RISE,
-               "Rise",
-               /* Family 4, not available from Rise */
-               { {
-                       CPUCLASS_486,
-                       {
-                               0, 0, 0, 0, 0, 0, 0, 0,
-                               0, 0, 0, 0, 0, 0, 0, 0,
-                               "486 class"             /* Default */
-                       },
-                       NULL
-               },
-               /* Family 5 */
-               {
-                       CPUCLASS_586,
-                       {
-                               "mP6", 0, "mP6", 0, 0, 0, 0, 0,
-                               0, 0, 0, 0, 0, 0, 0, 0,
-                               "mP6"                   /* Default */
-                       },
-                       NULL
-               },
-               /* Family 6, not yet available from Rise */
-               {
-                       CPUCLASS_686,
-                       {
-                               0, 0, 0, 0, 0, 0, 0, 0,
-                               0, 0, 0, 0, 0, 0, 0, 0,
-                               "686 class"             /* Default */
-                       },
-                       NULL
-               } }
-       },
        {
                "GenuineTMx86",
                CPUVENDOR_TRANSMETA,
index 18221fe..df6b2d7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: cputypes.h,v 1.11 2022/07/07 00:56:46 daniel Exp $    */
+/*     $OpenBSD: cputypes.h,v 1.12 2022/07/27 01:44:25 daniel Exp $    */
 /*     $NetBSD: cputypes.h,v 1.10 1997/10/18 04:51:03 mikel Exp $      */
 
 /*
@@ -63,7 +63,6 @@
 #define CPUVENDOR_CYRIX                1
 #define CPUVENDOR_AMD          3
 #define CPUVENDOR_IDT          4
-#define CPUVENDOR_RISE         5
 #define CPUVENDOR_TRANSMETA    6
 #define CPUVENDOR_NS           7
 #define CPUVENDOR_VIA          8