[PATCH v5 13/21] arm64: Allow ID_AA64MMFR1_EL1.VH to be overridden from the command line

Marc Zyngier maz at kernel.org
Mon Jan 25 08:55:58 EST 2021


On 2021-01-25 13:15, Suzuki K Poulose wrote:
> On 1/25/21 10:50 AM, Marc Zyngier wrote:
>> As we want to be able to disable VHE at runtime, let's match
>> "id_aa64mmfr1.vh=" from the command line as an override.
>> This doesn't have much effect yet as our boot code doesn't look
>> at the cpufeature, but only at the HW registers.
>> 
>> Signed-off-by: Marc Zyngier <maz at kernel.org>
>> Acked-by: David Brazdil <dbrazdil at google.com>
>> ---
>>   arch/arm64/include/asm/cpufeature.h |  2 ++
>>   arch/arm64/kernel/cpufeature.c      |  5 ++++-
>>   arch/arm64/kernel/idreg-override.c  | 11 +++++++++++
>>   3 files changed, 17 insertions(+), 1 deletion(-)
>> 
>> diff --git a/arch/arm64/include/asm/cpufeature.h 
>> b/arch/arm64/include/asm/cpufeature.h
>> index 4179cfc8ed57..b0ed37da4067 100644
>> --- a/arch/arm64/include/asm/cpufeature.h
>> +++ b/arch/arm64/include/asm/cpufeature.h
>> @@ -818,6 +818,8 @@ static inline unsigned int get_vmid_bits(u64 
>> mmfr1)
>>   	return 8;
>>   }
>>   +extern struct arm64_ftr_override id_aa64mmfr1_override;
>> +
>>   u32 get_kvm_ipa_limit(void);
>>   void dump_cpu_features(void);
>>   diff --git a/arch/arm64/kernel/cpufeature.c 
>> b/arch/arm64/kernel/cpufeature.c
>> index 4b84a1e1dc51..c1d6712c4249 100644
>> --- a/arch/arm64/kernel/cpufeature.c
>> +++ b/arch/arm64/kernel/cpufeature.c
>> @@ -557,6 +557,8 @@ static const struct arm64_ftr_bits ftr_raz[] = {
>>     #define ARM64_FTR_REG(id, table) ARM64_FTR_REG_OVERRIDE(id, table, 
>> &no_override)
>>   +struct arm64_ftr_override id_aa64mmfr1_override;
> 
> Does this need to be ro_after_init ?

Could do, together with the other two override targeting system 
registers.

> Otherwise, looks good to me:
> 
> Acked-by: Suzuki K Poulose <suzuki.poulose at arm.com>

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list