Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp892224imm; Wed, 4 Jul 2018 07:44:24 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfPRGF6oMNyFlm6lUieF7wnpe/9x725G2zxR0yefoXneTFCT/taYJ9dnR6PnnUyrDs84Mi3 X-Received: by 2002:a63:67c3:: with SMTP id b186-v6mr2209838pgc.5.1530715464931; Wed, 04 Jul 2018 07:44:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530715464; cv=none; d=google.com; s=arc-20160816; b=gNUr3LSNzD3jA2MiWX9r8Zt32YhD5WMR1d1mg8Q2uAzkSrtZQSKoMIwd6TeDWUvdzG jXv8WBLduArgLiAUpJhQ/YieO/2W5dHmksbJH9Q3nSJJubZibzO3fq+p0L1bmkdb/C5/ 6xa1u6tltPpp9lS5TquxcgHkQswhNTkq1OX6tvHt2Kp2GELo2rDJYCqprfJjLbZ/UIV5 ksPKrw5uB7KksueHCv4p6W/uT357oO5+ZN+QTl+xooHiAxEutUmP0/PiTOPoZhf4p6KD LD3W9EciFXdRXEAQEy2FMiJPQuXlv8/qQFLMmIYcQAVh4DijmzC/i4ntA8HKvHFiFutO J4Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:organization:user-agent :references:in-reply-to:subject:cc:to:from:message-id:date :arc-authentication-results; bh=YdoLI1hC+WXWsfIeHv/IEgGBKPzT3XpIYhZ1xtkpdQU=; b=v3Ih2ESRjJKeZRbMmhYIxTRYUu9eyP+moUvW/1RsJo6CXyE+JUT4LIcNRACI0oxOC0 Oc4cHSNOWIXZechChQipdZkpvYJZr68WlslYntbw8gs6ORtrBVFVvz20Zavbhcrndh7J wZM1A/C1u36GXilRsUs/RT2rEu96p70JVxBkBYPDxHFaHlPijb+YOQC+PhwFFky6SwtS WfKlxoHE3i3hM5tvOVMclUJcc/5YokP/tdt6GWpltbcITGRz/bZGRQSHHGvvXLRNLg7g VCFgF7/eHyKzFgWGlY8PDjIaScD1Q+A4rOv6sj4YBZDhQKxwVhvOnf6DN+kJtSfoYoWB YLSQ== 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 v17-v6si2241418pgk.135.2018.07.04.07.44.10; Wed, 04 Jul 2018 07:44:24 -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 S1753312AbeGDOlj (ORCPT + 99 others); Wed, 4 Jul 2018 10:41:39 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:38586 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752511AbeGDOlh (ORCPT ); Wed, 4 Jul 2018 10:41:37 -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 7CD4018A; Wed, 4 Jul 2018 07:41:37 -0700 (PDT) Received: from big-swifty.misterjones.org (big-swifty.cambridge.arm.com [10.1.25.237]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0549F3F5A0; Wed, 4 Jul 2018 07:41:26 -0700 (PDT) Date: Wed, 04 Jul 2018 15:41:18 +0100 Message-ID: <8636wzysfl.wl-marc.zyngier@arm.com> From: Marc Zyngier To: Will Deacon Cc: Suzuki K Poulose , , , , , , , , , , , Subject: Re: [kvmtool test PATCH 24/24] kvmtool: arm: Add support for creating VM with PA size In-Reply-To: <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> <20180704142241.GG4828@arm.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 EasyPG/1.0.0 Emacs/25.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: ARM Ltd MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 04 Jul 2018 15:22:42 +0100, Will Deacon wrote: > > 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? Not really. Let's say I want my IPA space split in two: memory covers the low 47 bit, and I want MMIO spanning the top 47 bit. With your scheme, you'd end-up with a 47bit IPA space, while you really want 48 bits (MMIO space implemented by userspace isn't registered to the kernel). M. -- Jazz is not dead, it just smell funny.