Commit 3391b95c authored by Jiaxun Yang's avatar Jiaxun Yang Committed by Thomas Bogendoerfer
Browse files

MIPS: Fix set_uncached_handler for ebase in XKPHYS



ebase might reside in XKPHYS if memblock is unable to allocate memory
within the KSEG0 physical range.

To map EBASE into uncached space, we convert it back to its physical
address and utilize the new CKSEG1ADDR_OR_64BIT helper for mapping.

Co-developed-by: default avatarVladimir Kondratiev <vladimir.kondratiev@intel.com>
Signed-off-by: default avatarVladimir Kondratiev <vladimir.kondratiev@intel.com>
Co-developed-by: default avatarGregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: default avatarGregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent e40192da
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2299,7 +2299,7 @@ static const char panic_null_cerr[] =
void set_uncached_handler(unsigned long offset, void *addr,
	unsigned long size)
{
	unsigned long uncached_ebase = CKSEG1ADDR(ebase);
	unsigned long uncached_ebase = CKSEG1ADDR_OR_64BIT(__pa(ebase));

	if (!addr)
		panic(panic_null_cerr);