From patchwork Wed Jul 1 14:20:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suzuki K Poulose X-Patchwork-Id: 11636571 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 24D6213BD for ; Wed, 1 Jul 2020 14:21:56 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EB8022067D for ; Wed, 1 Jul 2020 14:21:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KNpfETrj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EB8022067D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=fdjdBPMbXFbmPvC4muTgHPUaUbnhbWcp/eATtVbOup4=; b=KNpfETrjiCaW0voMCKc3YR0+W7 PVswU6TEexf1gBEKa1MwDYGotVRpfg7ckjcRlIGj6nYB6ZwNH7X0vfMBPSa3+uxHz9u/daLHB4/b5 A4I/0WJlxyI7LdIujeEDvPxClAY7ts/uCMkC5F/eoDS3qWx3qXOVk9rqVJ9pOI027wiyVOF6AcVvK pdFwfNCS5WIgBfL/Zno33E3wnPW3+GYSfm6K+8DVFrBJ9ZcwR/Sxpm7+XojYMpDlc/Dza0DRTSHvJ rtYY3K4q5adh8YRtpNS/9ajxeVd07ltYt05SmRXcQvqlcOtZ3hy5ptHSXlMIngPUVIoMvoIv7IMZB iZw5VepQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqdbE-0000W6-AR; Wed, 01 Jul 2020 14:20:32 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqdbC-0000UF-8j for linux-arm-kernel@lists.infradead.org; Wed, 01 Jul 2020 14:20:30 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 60C5E30E; Wed, 1 Jul 2020 07:20:26 -0700 (PDT) Received: from ewhatever.cambridge.arm.com (ewhatever.cambridge.arm.com [10.1.197.1]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2242C3F73C; Wed, 1 Jul 2020 07:20:24 -0700 (PDT) From: Suzuki K Poulose To: kvm@vger.kernel.org Subject: [PATCH] kvmtool: arm64: Report missing support for 32bit guests Date: Wed, 1 Jul 2020 15:20:02 +0100 Message-Id: <20200701142002.51654-1-suzuki.poulose@arm.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200701_102030_381297_C241C1FE X-CRM114-Status: GOOD ( 10.62 ) X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [217.140.110.172 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Suzuki K Poulose , andre.przywara@arm.com, Sami Mujawar , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org 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 Cc: Will Deacon Reported-by: Sami Mujawar Signed-off-by: Suzuki K Poulose Acked-by: Marc Zyngier --- 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)) + die("32bit guests are not supported\n"); + vcpu = calloc(1, sizeof(struct kvm_cpu)); if (!vcpu) return NULL;