svn commit: r202939 - head/sys/mips/cavium

Warner Losh imp at FreeBSD.org
Sun Jan 24 18:05:39 UTC 2010


Author: imp
Date: Sun Jan 24 18:05:38 2010
New Revision: 202939
URL: http://svn.freebsd.org/changeset/base/202939

Log:
  o Write the soft reset bit in the cavium core to reset. [1]
  o panic if the board boot descriptor is too old...
  
  Obtained from:	[1] looking at the cavium sdk's executive code

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

Modified: head/sys/mips/cavium/octeon_machdep.c
==============================================================================
--- head/sys/mips/cavium/octeon_machdep.c	Sun Jan 24 17:00:21 2010	(r202938)
+++ head/sys/mips/cavium/octeon_machdep.c	Sun Jan 24 18:05:38 2010	(r202939)
@@ -109,7 +109,7 @@ platform_cpu_init()
 void
 platform_reset(void)
 {
-	mips_generic_reset();
+	oct_write64(OCTEON_CIU_SOFT_RST, 1);
 }
 
 
@@ -961,7 +961,9 @@ octeon_boot_params_init(register_t ptr)
     	if (ptr != 0 && ptr < MAX_APP_DESC_ADDR) {
 	        app_desc_ptr = (octeon_boot_descriptor_t *)(intptr_t)ptr;
 		octeon_bd_ver = app_desc_ptr->desc_version;
-		if (app_desc_ptr->desc_version == 6)
+		if (app_desc_ptr->desc_version < 6)
+			panic("Your boot code is too old to be supported.\n");
+		if (app_desc_ptr->desc_version >= 6)
 			bad_desc = octeon_process_app_desc_ver_6();
         }
         if (bad_desc)

Modified: head/sys/mips/cavium/octeon_pcmap_regs.h
==============================================================================
--- head/sys/mips/cavium/octeon_pcmap_regs.h	Sun Jan 24 17:00:21 2010	(r202938)
+++ head/sys/mips/cavium/octeon_pcmap_regs.h	Sun Jan 24 18:05:38 2010	(r202939)
@@ -597,11 +597,9 @@ static inline mipsx_addr_size octeon_ptr
 
 
 #define OCTEON_CIU_PP_RST	OCTEON_ADD_IO_SEG(0x0001070000000700ull)
+#define OCTEON_CIU_SOFT_RST	OCTEON_ADD_IO_SEG(0x0001070000000740ull)
 #define OCTEON_OCTEON_DID_TAG	12ULL
 
-
-
-
 /*
  * octeon_addr_t
  */


More information about the svn-src-head mailing list