Messages in this thread |  | | Date | Fri, 10 Jan 2020 14:50:19 +0000 | From | Catalin Marinas <> | Subject | Re: [PATCH v2 1/7] arm64: Introduce system_capabilities_finalized() marker |
| |
On Tue, Dec 17, 2019 at 06:33:56PM +0000, Suzuki K Poulose wrote: > We finalize the system wide capabilities after the SMP CPUs > are booted by the kernel. This is used as a marker for deciding > various checks in the kernel. e.g, sanity check the hotplugged > CPUs for missing mandatory features. > > However there is no explicit helper available for this in the > kernel. There is sys_caps_initialised, which is not exposed. > The other closest one we have is the jump_label arm64_const_caps_ready > which denotes that the capabilities are set and the capability checks > could use the individual jump_labels for fast path. This is > performed before setting the ELF Hwcaps, which must be checked > against the new CPUs. We also perform some of the other initialization > e.g, SVE setup, which is important for the use of FP/SIMD > where SVE is supported. Normally userspace doesn't get to run > before we finish this. However the in-kernel users may > potentially start using the neon mode. So, we need to > reject uses of neon mode before we are set. Instead of defining > a new marker for the completion of SVE setup, we could simply > reuse the arm64_const_caps_ready and enable it once we have > finished all the setup. Also we could expose this to the > various users as "system_capabilities_finalized()" to make > it more meaningful than "const_caps_ready". > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > Cc: Will Deacon <will.deacon@arm.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
|  |