diff --git a/sys/mips/cavium/octeon_machdep.c b/sys/mips/cavium/octeon_machdep.c index 7f7dede184a9..526090494043 100644 --- a/sys/mips/cavium/octeon_machdep.c +++ b/sys/mips/cavium/octeon_machdep.c @@ -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) diff --git a/sys/mips/cavium/octeon_pcmap_regs.h b/sys/mips/cavium/octeon_pcmap_regs.h index b28f7aa21898..ab91246e759f 100644 --- a/sys/mips/cavium/octeon_pcmap_regs.h +++ b/sys/mips/cavium/octeon_pcmap_regs.h @@ -597,11 +597,9 @@ static inline mipsx_addr_size octeon_ptr_to_phys (void *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 */