Comments

The ebase is relative to CKSEG0 not CAC_BASE. On a 32-bit kernel they
are the same thing, for a 64-bit kernel they are not.
It happens to kind of work on a 64-bit kernel as they both reference
the same physical memory. However since the CPU uses the CKSEG0 base,
determining if a J instruction will reach always gives the wrong
result unless we use the same number the CPU uses.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
arch/mips/kernel/traps.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

On Tue, Apr 06, 2010 at 01:29:50PM -0700, David Daney wrote:
> The ebase is relative to CKSEG0 not CAC_BASE. On a 32-bit kernel they> are the same thing, for a 64-bit kernel they are not.> > It happens to kind of work on a 64-bit kernel as they both reference> the same physical memory. However since the CPU uses the CKSEG0 base,> determining if a J instruction will reach always gives the wrong> result unless we use the same number the CPU uses.
Applied, thanks!
Ralf