Author: jmallett
Date: Fri Mar  5 22:46:11 2010
New Revision: 204777
URL: http://svn.freebsd.org/changeset/base/204777

Log:
  Properly detect a type of real board that claims to have a 0.0 revision.
  This fixes at least memory detection on that board.
  
  Sponsored by: Packet Forensics

Modified:
  head/sys/mips/cavium/octeon_machdep.c

Modified: head/sys/mips/cavium/octeon_machdep.c
==============================================================================
--- head/sys/mips/cavium/octeon_machdep.c       Fri Mar  5 22:44:49 2010        
(r204776)
+++ head/sys/mips/cavium/octeon_machdep.c       Fri Mar  5 22:46:11 2010        
(r204777)
@@ -873,8 +873,9 @@ int octeon_chip_rev_major = 0, octeon_ch
 static octeon_boot_descriptor_t *app_desc_ptr;
 static cvmx_bootinfo_t *cvmx_desc_ptr;
 
-#define OCTEON_BOARD_TYPE_NONE 0
-#define OCTEON_BOARD_TYPE_SIM  1
+#define OCTEON_BOARD_TYPE_NONE                         0
+#define OCTEON_BOARD_TYPE_SIM                          1
+#define        OCTEON_BOARD_TYPE_CN3010_EVB_HS5        11
 
 #define OCTEON_CLOCK_MIN     (100 * 1000 * 1000)
 #define OCTEON_CLOCK_MAX     (800 * 1000 * 1000)
@@ -886,11 +887,23 @@ static cvmx_bootinfo_t *cvmx_desc_ptr;
 int
 octeon_board_real(void)
 {
-       if ((octeon_board_type == OCTEON_BOARD_TYPE_NONE) ||
-           (octeon_board_type == OCTEON_BOARD_TYPE_SIM) ||
-           !octeon_board_rev_major)
+       switch (octeon_board_type) {
+       case OCTEON_BOARD_TYPE_NONE:
+       case OCTEON_BOARD_TYPE_SIM:
                return 0;
-       return 1;
+       case OCTEON_BOARD_TYPE_CN3010_EVB_HS5:
+               /*
+                * XXX
+                * The CAM-0100 identifies itself as type 11, revision 0.0,
+                * despite its being rather real.  Disable the revision check
+                * for type 11.
+                */
+               return 1;
+       default:
+               if (octeon_board_rev_major == 0)
+                       return 0;
+               return 1;
+       }
 }
 
 static void
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to