[PATCH v2 06/20] arm64: capabilities: Unify the verification
Suzuki K Poulose
Suzuki.Poulose at arm.com
Wed Feb 7 08:56:43 PST 2018
On 07/02/18 10:38, Dave Martin wrote:
> On Wed, Jan 31, 2018 at 06:27:53PM +0000, Suzuki K Poulose wrote:
>> Now that each capability describes how to treat the conflicts
>> of CPU cap state vs System wide cap state, we can unify the
>> verification logic to a single place.
>>
>> Cc: Dave Martin <dave.martin at arm.com>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
>> ---
>> arch/arm64/include/asm/cpufeature.h | 1 +
>> arch/arm64/kernel/cpufeature.c | 89 +++++++++++++++++++++++--------------
>> 2 files changed, 57 insertions(+), 33 deletions(-)
>>
>> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
>> index 1b29b3f0a1bc..5e4d581c97f1 100644
>> --- a/arch/arm64/kernel/cpufeature.c
>> +++ b/arch/arm64/kernel/cpufeature.c
>> @@ -1233,6 +1233,56 @@ static void __init enable_cpu_capabilities(const struct arm64_cpu_capabilities *
>> }
>> }
>>
>> +/*
>> + * Run through the list of capabilities to check for conflicts.
>> + * If the system has already detected a capability, take necessary
>> + * action on this CPU.
>> + *
>> + * Returns "false" on conflicts.
>> + */
>> +static bool __verify_local_cpu_caps(const struct arm64_cpu_capabilities *caps_list)
>> +{
>> + bool cpu_has_cap, system_has_cap;
>> + const struct arm64_cpu_capabilities *caps = caps_list;
>> +
>> + for (; caps->matches; caps++) {
>> + cpu_has_cap = __this_cpu_has_cap(caps_list, caps->capability);
>> + system_has_cap = cpus_have_cap(caps->capability);
>
> Nit: Odd spacing?
Fixed
>
> [...]
>
> Otherwise,
>
> Reviewed-by: Dave Martin <Dave.Martin at arm.com>
Thanks
Suzuki
More information about the linux-arm-kernel
mailing list