svn commit: r204777 - head/sys/mips/cavium
Juli Mallett
jmallett at FreeBSD.org
Fri Mar 5 22:46:11 UTC 2010
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
More information about the svn-src-head
mailing list