Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp871505imm; Wed, 4 Jul 2018 07:24:42 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcvhJOgs5fAMvOyDYYd0JcFMYMYDDpIKv87D2i9IKCqeL+KS1QSAy7ViLnX1IFZkI6oSeQt X-Received: by 2002:a62:8b87:: with SMTP id e7-v6mr2412575pfl.133.1530714282739; Wed, 04 Jul 2018 07:24:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530714282; cv=none; d=google.com; s=arc-20160816; b=ZtSu95GF/dxE3XXXjKp/0CiDJ0qrG/R8N0QlOSfSm7MrY4Zoj+Oj0E+BA8eGhMeHX7 KVh4nL4X0uecR296uVjHczW3Def7F+U29ftvMYSzmZykEWvfRXvENmjg4DUOvRhC2ALN jo1ET1pe7UxRIiuf0dDelmQtkNokcHCW6XgaIQhPZ1lz+la0oW3IwEbTrb8hcu5TW76z Y54SZcjPLMeZqkeJ/b7ZyznAhbIhlbbdWOklWkoFhZf89nr5izVUBM1e2EWM7waoOlvO 5UKMjJQX2ujL82aPuNpeqcTMF1fVfcTQh7LOAER/YGAP6v0f06JlW6O7iEBX9C0mpf0/ rIbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=zV64V8h8FcPSGzfaenhZfq5FWIRHnC2E7/q12bTrhCM=; b=J3muHIh1riO3KA1E0LWWC9v6rf3xubpQjqG+aZLAE+H330YhDosiD2+NX661q/2oyV VZjwz9hwBzaZzO7rRB0pr4B6tMPTBg2q8P2GhkXPX8O9mIGLr5axeJXf7ENbFLGbAtmJ BlSEhxUDFVPdeRdnbDBzBwyX2GFsheY0fwZdGuN96D+psiYbRELkig4bek7u6B3BWXOK djM1gmioOA0PkyZy/Bb2JCVSRAxLLEKt0vJYvRKYY8+u1a4PIPjOjf0pAezMiEng1+tE mSiIWvJltYPIz6CEw7ULSZ0KrZoWdHOhvDrwufP86Qy3q8fCez9dFgb6hmU1WgGNJ6W5 Ot1w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s184-v6si3309301pgs.492.2018.07.04.07.24.28; Wed, 04 Jul 2018 07:24:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752664AbeGDOWF (ORCPT + 99 others); Wed, 4 Jul 2018 10:22:05 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:38194 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752693AbeGDOWC (ORCPT ); Wed, 4 Jul 2018 10:22:02 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 69B0218A; Wed, 4 Jul 2018 07:22:02 -0700 (PDT) Received: from edgewater-inn.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3A3023F5A0; Wed, 4 Jul 2018 07:22:02 -0700 (PDT) Received: by edgewater-inn.cambridge.arm.com (Postfix, from userid 1000) id 2F9011AE189D; Wed, 4 Jul 2018 15:22:42 +0100 (BST) Date: Wed, 4 Jul 2018 15:22:42 +0100 From: Will Deacon To: Suzuki K Poulose Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, james.morse@arm.com, marc.zyngier@arm.com, cdall@kernel.org, eric.auger@redhat.com, julien.grall@arm.com, catalin.marinas@arm.com, punit.agrawal@arm.com, qemu-devel@nongnu.org Subject: Re: [kvmtool test PATCH 24/24] kvmtool: arm: Add support for creating VM with PA size Message-ID: <20180704142241.GG4828@arm.com> References: <1530270944-11351-1-git-send-email-suzuki.poulose@arm.com> <1530270944-11351-25-git-send-email-suzuki.poulose@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1530270944-11351-25-git-send-email-suzuki.poulose@arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 29, 2018 at 12:15:44PM +0100, Suzuki K Poulose wrote: > diff --git a/arm/kvm.c b/arm/kvm.c > index 5701d41..b1969be 100644 > --- a/arm/kvm.c > +++ b/arm/kvm.c > @@ -11,6 +11,8 @@ > #include > #include > > +unsigned long kvm_arm_type; > + > struct kvm_ext kvm_req_ext[] = { > { DEFINE_KVM_EXT(KVM_CAP_IRQCHIP) }, > { DEFINE_KVM_EXT(KVM_CAP_ONE_REG) }, > @@ -18,6 +20,26 @@ struct kvm_ext kvm_req_ext[] = { > { 0, 0 }, > }; > > +#ifndef KVM_ARM_GET_MAX_VM_PHYS_SHIFT > +#define KVM_ARM_GET_MAX_VM_PHYS_SHIFT _IO(KVMIO, 0x0b) > +#endif > + > +void kvm__arch_init_hyp(struct kvm *kvm) > +{ > + int max_ipa; > + > + max_ipa = ioctl(kvm->sys_fd, KVM_ARM_GET_MAX_VM_PHYS_SHIFT); > + if (max_ipa < 0) > + max_ipa = 40; > + if (!kvm->cfg.arch.phys_shift) > + kvm->cfg.arch.phys_shift = 40; > + if (kvm->cfg.arch.phys_shift > max_ipa) > + die("Requested PA size (%u) is not supported by the host (%ubits)\n", > + kvm->cfg.arch.phys_shift, max_ipa); > + if (kvm->cfg.arch.phys_shift != 40) > + kvm_arm_type = kvm->cfg.arch.phys_shift; > +} Seems a bit weird that the "machine type identifier" to KVM_CREATE_VM is dedicated entirely to holding the physical address shift verbatim. Is this really the ABI? Also, couldn't KVM figure it out automatically if you add memslots at high addresses, making this a niche tunable outside of testing? Will