[PATCH] kvmtool: arm64: Report missing support for 32bit guests

Suzuki K Poulose suzuki.poulose at arm.com
Thu Jul 2 11:37:08 EDT 2020


Hi Marc

On 07/01/2020 04:42 PM, Marc Zyngier wrote:
> On 2020-07-01 15:20, Suzuki K Poulose wrote:
>> When the host doesn't support 32bit guests, the kvmtool fails
>> without a proper message on what is wrong. i.e,
>>
>>  $ lkvm run -c 1 Image --aarch32
>>   # lkvm run -k Image -m 256 -c 1 --name guest-105618
>>   Fatal: Unable to initialise vcpu
>>
>> Given that there is no other easy way to check if the host supports 32bit
>> guests, it is always good to report this by checking the capability, 
>> rather
>> than leaving the users to hunt this down by looking at the code!
>>
>> After this patch:
>>
>>  $ lkvm run -c 1 Image --aarch32
>>   # lkvm run -k Image -m 256 -c 1 --name guest-105695
>>   Fatal: 32bit guests are not supported
> 
> Fancy!
> 
>>
>> Cc: Will Deacon <will at kernel.org>
>> Reported-by: Sami Mujawar <sami.mujawar at arm.com>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
>> ---
>>  arm/kvm-cpu.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/arm/kvm-cpu.c b/arm/kvm-cpu.c
>> index 554414f..2acecae 100644
>> --- a/arm/kvm-cpu.c
>> +++ b/arm/kvm-cpu.c
>> @@ -46,6 +46,10 @@ struct kvm_cpu *kvm_cpu__arch_init(struct kvm *kvm,
>> unsigned long cpu_id)
>>          .features = ARM_VCPU_FEATURE_FLAGS(kvm, cpu_id)
>>      };
>>
>> +    if (kvm->cfg.arch.aarch32_guest &&
>> +        !kvm__supports_extension(kvm, KVM_CAP_ARM_EL1_32BIT))
> 
> Can you please check that this still compiles for 32bit host?

Yes, it does. I have built this on an arm32 rootfs with make ARCH=arm.
The kvm->cfg.arch is common across arm/arm64 and is defined here :

arm/include/arm-common/kvm-config-arch.h

And the aarch32 command line option is only available on aarch64 host.
So this is safe on an arm32 host.

> 
>> +        die("32bit guests are not supported\n");
>> +
>>      vcpu = calloc(1, sizeof(struct kvm_cpu));
>>      if (!vcpu)
>>          return NULL;
> 
> With the above detail checked,
> 
> Acked-by: Marc Zyngier <maz at kernel.org>

Thanks
Suzuki



More information about the linux-arm-kernel mailing list