powerpc/64s: Make flush_and_reload_slb a no-op when radix is enabled
The radix test can exclude slb_flush_all_realmode() from being called because flush_and_reload_slb() is only expected to flush ERAT when called by flush_erat(), which is only on pre-ISA v3.0 CPUs that do not support radix. This helps the later change to make hash support configurable to not introduce runtime changes to radix mode behaviour. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20211201144153.2456614-9-npiggin@gmail.com
This commit is contained in:
parent
162b0889bb
commit
310dce6201
|
@ -80,12 +80,12 @@ static bool mce_in_guest(void)
|
||||||
#ifdef CONFIG_PPC_BOOK3S_64
|
#ifdef CONFIG_PPC_BOOK3S_64
|
||||||
void flush_and_reload_slb(void)
|
void flush_and_reload_slb(void)
|
||||||
{
|
{
|
||||||
/* Invalidate all SLBs */
|
|
||||||
slb_flush_all_realmode();
|
|
||||||
|
|
||||||
if (early_radix_enabled())
|
if (early_radix_enabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* Invalidate all SLBs */
|
||||||
|
slb_flush_all_realmode();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This probably shouldn't happen, but it may be possible it's
|
* This probably shouldn't happen, but it may be possible it's
|
||||||
* called in early boot before SLB shadows are allocated.
|
* called in early boot before SLB shadows are allocated.
|
||||||
|
|
Loading…
Reference in New Issue