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

Marc Zyngier maz at misterjones.org
Wed Jul 1 11:42:06 EDT 2020


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?

> +		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>

         M.
-- 
Who you jivin' with that Cosmik Debris?



More information about the linux-arm-kernel mailing list