Skip to content

Commit

Permalink
MIPS: CPS: Initialize EVA before bringing up VPEs from secondary cores
Browse files Browse the repository at this point in the history
The CPS code is doing several memory loads when configuring the VPEs
from secondary cores, so the segmentation control registers must be
initialized in time otherwise the kernel will crash with strange
TLB exceptions.

Reviewed-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: http://patchwork.linux-mips.org/patch/7424/
Signed-off-by: James Hogan <james.hogan@imgtec.com>
  • Loading branch information
Markos Chandras authored and Ralf Baechle committed Aug 19, 2014
1 parent ca4d24f commit 6521d9a
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/mips/kernel/cps-vec.S
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <asm/asm-offsets.h>
#include <asm/asmmacro.h>
#include <asm/cacheops.h>
#include <asm/eva.h>
#include <asm/mipsregs.h>
#include <asm/mipsmtregs.h>
#include <asm/pm.h>
Expand Down Expand Up @@ -166,6 +167,9 @@ dcache_done:
1: jal mips_cps_core_init
nop

/* Do any EVA initialization if necessary */
eva_init

/*
* Boot any other VPEs within this core that should be online, and
* deactivate this VPE if it should be offline.
Expand Down

0 comments on commit 6521d9a

Please sign in to comment.