MIPS: Use CKSEG1ADDR for uncached handler
"MIPS: Calculate proper ebase value for 64-bit kernels"
9af43ea080dd5d6c7b34f38261780e5dd43537bc (lmo) rsp.
f6be75d03c
(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 <sebastian@breakpoint.cc>
To: Ralf Baechle <ralf@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/1149/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Родитель
1ec56329ff
Коммит
4f81b01a30
|
@ -1562,12 +1562,7 @@ static char panic_null_cerr[] __cpuinitdata =
|
||||||
void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
|
void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
|
||||||
unsigned long size)
|
unsigned long size)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_32BIT
|
unsigned long uncached_ebase = CKSEG1ADDR(ebase);
|
||||||
unsigned long uncached_ebase = KSEG1ADDR(ebase);
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_64BIT
|
|
||||||
unsigned long uncached_ebase = TO_UNCAC(ebase);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!addr)
|
if (!addr)
|
||||||
panic(panic_null_cerr);
|
panic(panic_null_cerr);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче