mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 07:31:29 +00:00
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:
parent
227ae62552
commit
39df17bc20
@ -620,9 +620,6 @@ void setup_kuap(bool disabled)
|
|||||||
cur_cpu_spec->mmu_features |= MMU_FTR_RADIX_KUAP;
|
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.
|
* 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);
|
radix__switch_mmu_context(NULL, &init_mm);
|
||||||
tlbiel_all();
|
tlbiel_all();
|
||||||
|
|
||||||
|
/* Make sure userspace can't change the AMR */
|
||||||
|
mtspr(SPRN_UAMOR, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void radix__mmu_cleanup_all(void)
|
void radix__mmu_cleanup_all(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user