[RFC 3/7] arm64: alternative: Apply alternatives early in boot process

Suzuki K Poulose Suzuki.Poulose at arm.com
Mon Nov 13 09:39:40 PST 2017


On 13/11/17 17:34, Suzuki K Poulose wrote:
> On 11/10/17 14:00, Julien Thierry wrote:
>> From: Daniel Thompson <daniel.thompson at linaro.org>
>>
>> Currently alternatives are applied very late in the boot process (and
>> a long time after we enable scheduling). Some alternative sequences,
>> such as those that alter the way CPU context is stored, must be applied
>> much earlier in the boot sequence.
>>
>> Introduce apply_alternatives_early() to allow some alternatives to be
>> applied immediately after we detect the CPU features of the boot CPU.
>>
>> Signed-off-by: Daniel Thompson <daniel.thompson at linaro.org>
>> Signed-off-by: Julien Thierry <julien.thierry at arm.com>
>> Cc: Catalin Marinas <catalin.marinas at arm.com>
>> Cc: Will Deacon <will.deacon at arm.com>
>> ---
>>   arch/arm64/include/asm/alternative.h |  1 +
>>   arch/arm64/kernel/alternative.c      | 39 +++++++++++++++++++++++++++++++++---
>>   arch/arm64/kernel/smp.c              |  6 ++++++
>>   3 files changed, 43 insertions(+), 3 deletions(-)
>>
> 
> 
>> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
>> index 9f7195a..84c6983 100644
>> --- a/arch/arm64/kernel/smp.c
>> +++ b/arch/arm64/kernel/smp.c
>> @@ -455,6 +455,12 @@ void __init smp_prepare_boot_cpu(void)
>>        * cpuinfo_store_boot_cpu() above.
>>        */
>>       update_cpu_errata_workarounds();
>> +    /*
>> +     * We now know enough about the boot CPU to apply the
>> +     * alternatives that cannot wait until interrupt handling
>> +     * and/or scheduling is enabled.
>> +     */
>> +    apply_alternatives_early();
>>   }
> 
> What happens if a secondary CPU, activated at boot doesn't have the "early"
> capabilities ?

Err, ignore this comment. I was somehow missing the patch 2 in the series and
after looking that up in the archives, it looks fine.

Cheers
Suzuki



More information about the linux-arm-kernel mailing list