Author: jkim
Date: Thu Aug 15 21:09:05 2013
New Revision: 254384
URL: http://svnweb.freebsd.org/changeset/base/254384

Log:
  Simplify check for CMPXCHG8B instruction.  Note CMPXCHG8B instruction is
  always available for Rise mP6 processors although it is not set by CPUID.

Modified:
  head/sys/i386/i386/initcpu.c
  head/sys/i386/i386/machdep.c

Modified: head/sys/i386/i386/initcpu.c
==============================================================================
--- head/sys/i386/i386/initcpu.c        Thu Aug 15 21:06:38 2013        
(r254383)
+++ head/sys/i386/i386/initcpu.c        Thu Aug 15 21:09:05 2013        
(r254384)
@@ -424,6 +424,19 @@ init_6x86(void)
 
 #ifdef I586_CPU
 /*
+ * Rise mP6
+ */
+static void
+init_rise(void)
+{
+
+       /*
+        * The CMPXCHG8B instruction is always available but hidden.
+        */
+       cpu_feature |= CPUID_CX8;
+}
+
+/*
  * IDT WinChip C6/2/2A/2B/3
  *
  * http://www.centtech.com/winchip_bios_writers_guide_v4_0.pdf
@@ -690,6 +703,9 @@ initializecpu(void)
                case CPU_VENDOR_TRANSMETA:
                        init_transmeta();
                        break;
+               case CPU_VENDOR_RISE:
+                       init_rise();
+                       break;
                }
                break;
 #endif

Modified: head/sys/i386/i386/machdep.c
==============================================================================
--- head/sys/i386/i386/machdep.c        Thu Aug 15 21:06:38 2013        
(r254383)
+++ head/sys/i386/i386/machdep.c        Thu Aug 15 21:09:05 2013        
(r254384)
@@ -1557,8 +1557,7 @@ static void
 cpu_probe_cmpxchg8b(void)
 {
 
-       if ((cpu_feature & CPUID_CX8) != 0 ||
-           cpu_vendor_id == CPU_VENDOR_RISE) {
+       if ((cpu_feature & CPUID_CX8) != 0) {
                atomic_load_acq_64 = atomic_load_acq_64_i586;
                atomic_store_rel_64 = atomic_store_rel_64_i586;
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to