Enable the use of MOPS implementations of memset, memcpy and memmove within
the kernel.
Sponsored by: Arm Ltd
Differential D54943
arm64: Enable MOPS usage in the kernel Authored by sarah.walker2_arm.com on Thu, Jan 29, 3:47 PM. Tags None Referenced Files
Details
Enable the use of MOPS implementations of memset, memcpy and memmove within Sponsored by: Arm Ltd
Diff Detail
Event TimelineComment Actions Can you split out enabling MOPS & using it into separate changes? There is a risk one of the mem*_early changes is missing & it would be easier to revert a change to add them rather than everything that depends on MOPS. Comment Actions It looks like there is a race between identify_cpu_sysinit setting mops_supported and late_ifunc_resolve that calls the ifunc resolvers that may use it. They are both run at SI_SUB_CONFIGURE, SI_ORDER_ANY so could be run in either order. The easiest option might be to move the former to SI_ORDER_ANY - 1. Comment Actions D55103 moves it earlier, along with other cleanups. Do we need mops_supported? It looks like we could check elf_hwcap2 in the resolver functions. We could also use get_kernel_reg to get the sanitised register, however it's probably safest to only do so after all CPUs have started as there may be a case where not all CPUs support MOPS, or have errata that means we can't use it. |