MIPS: Avoid using array as parameter to write_c0_kpgd()
authorPaul Burton <paul.burton@mips.com>
Tue, 7 Aug 2018 01:18:52 +0000 (18:18 -0700)
committerPaul Burton <paul.burton@mips.com>
Tue, 7 Aug 2018 01:44:09 +0000 (18:44 -0700)
commitb023a9396062df289399c6c4eab1f78c73199751
tree642b59ebdb481e522539182e45c762acee235ea1
parentee67855ecd9d02da348af11ec8474698b886a0e6
MIPS: Avoid using array as parameter to write_c0_kpgd()

Passing an array (swapper_pg_dir) as the argument to write_c0_kpgd() in
setup_pw() will become problematic if we modify __write_64bit_c0_split()
to cast its val argument to unsigned long long, because for 32-bit
kernel builds the size of a pointer will differ from the size of an
unsigned long long. This would fall foul of gcc's pointer-to-int-cast
diagnostic.

Cast the value to a long, which should be the same width as the pointer
that we ultimately want & will be sign extended if required to the
unsigned long long that __write_64bit_c0_split() ultimately needs.

Signed-off-by: Paul Burton <paul.burton@mips.com>
arch/mips/mm/tlbex.c