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-all
mailing list