Skip to content

Commit

Permalink
MIPS: Use CKSEG1ADDR for uncached handler
Browse files Browse the repository at this point in the history
"MIPS: Calculate proper ebase value for 64-bit kernels"
9af43ea (lmo) rsp.
f6be75d (kernel.org) broke some 64-bit
MIPS systems.

Before this we were using XKPHYS/cached as ebase and computed the uncached
xphsys/unchached address for that area. After that commit ebase became a
32-bit compat address and convert does not work anymore.  We now should use
CKSEG1 for this. CKSEG1ADDR does just that in 32-bit and 64-bit.

Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
To: Ralf Baechle <[email protected]>
Patchwork: http://patchwork.linux-mips.org/patch/1149/
Signed-off-by: Ralf Baechle <[email protected]>
  • Loading branch information
sebastianas authored and ralfbaechle committed Apr 30, 2010
1 parent 1ec5632 commit 4f81b01
Showing 1 changed file with 1 addition and 6 deletions.
7 changes: 1 addition & 6 deletions arch/mips/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -1562,12 +1562,7 @@ static char panic_null_cerr[] __cpuinitdata =
void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
unsigned long size)
{
#ifdef CONFIG_32BIT
unsigned long uncached_ebase = KSEG1ADDR(ebase);
#endif
#ifdef CONFIG_64BIT
unsigned long uncached_ebase = TO_UNCAC(ebase);
#endif
unsigned long uncached_ebase = CKSEG1ADDR(ebase);

if (!addr)
panic(panic_null_cerr);
Expand Down

0 comments on commit 4f81b01

Please sign in to comment.