ARM: 8236/1: mm: fix discard_old_kernel_data
L1_CACHE_BYTES could be larger value than real L1 cache line size. In that case, discard_old_kernel_data() would omit to invalidate last bytes as much as L1_CACHE_BYTES - real cache line size. So fix end address to "to + PAGE_SIZE -1". The bottom bits of the address is LINELEN. that is ignored by mcrr. Signed-off-by: Jungseung Lee <js07.lee@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
1d4d37159d
Коммит
802318743a
|
@ -62,7 +62,7 @@ static void discard_old_kernel_data(void *kto)
|
|||
__asm__("mcrr p15, 0, %1, %0, c6 @ 0xec401f06"
|
||||
:
|
||||
: "r" (kto),
|
||||
"r" ((unsigned long)kto + PAGE_SIZE - L1_CACHE_BYTES)
|
||||
"r" ((unsigned long)kto + PAGE_SIZE - 1)
|
||||
: "cc");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче