powerpc/book3s64/kuap/kuep: Move uamor setup to pkey init

This patch consolidates UAMOR update across pkey, kuap and kuep features.
The boot cpu initialize UAMOR via pkey init and both radix/hash do the
secondary cpu UAMOR init in early_init_mmu_secondary.

We don't check for mmu_feature in radix secondary init because UAMOR
is a supported SPRN with all CPUs supporting radix translation.
The old code was not updating UAMOR if we had smap disabled and smep enabled.
This change handles that case.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201127044424.40686-5-aneesh.kumar@linux.ibm.com
This commit is contained in:
Aneesh Kumar K.V 2020-11-27 10:14:06 +05:30 committed by Michael Ellerman
parent 227ae62552
commit 39df17bc20

View File

@ -620,9 +620,6 @@ void setup_kuap(bool disabled)
cur_cpu_spec->mmu_features |= MMU_FTR_RADIX_KUAP;
}
/* Make sure userspace can't change the AMR */
mtspr(SPRN_UAMOR, 0);
/*
* Set the default kernel AMR values on all cpus.
*/
@ -721,6 +718,9 @@ void radix__early_init_mmu_secondary(void)
radix__switch_mmu_context(NULL, &init_mm);
tlbiel_all();
/* Make sure userspace can't change the AMR */
mtspr(SPRN_UAMOR, 0);
}
void radix__mmu_cleanup_all(void)