Received: by 2002:ac0:a591:0:0:0:0:0 with SMTP id m17-v6csp653133imm; Thu, 5 Jul 2018 06:47:52 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdfAU/fBqzm4FTRjuZpSZu7roe7IV3LKcfX4zjg8bMmFN3XFcCAMq6hu7e2uVGqgZmnn4Up X-Received: by 2002:a17:902:bb8d:: with SMTP id m13-v6mr6195145pls.46.1530798472584; Thu, 05 Jul 2018 06:47:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530798472; cv=none; d=google.com; s=arc-20160816; b=DaScV8KOYlqj2h87h3hp7B0UJxkEyDdYuOTZTWfkE98g5AMnjlq/EKHWsm+14jyvLu SaNC9ZrhfkzjwFe2VFsSdaTXUGxX+G9NdHjtMB79izk1iaI48ZN3xF4YPFiTycnp01Ed BS3vclD67tHJ/iNChzE1Mnnio4dOrl06iAWtrZR3MOzmJgoKjCm9jDcqMUV3KNUsj0xY EQqNyC9AY4XMM5iUMrofZ++niwg//nmg1YkjKb6x9P/m97EFCn5GOVVzhianhbMkMA9U KNGV7DW4a/vyet15CObsVzGFkvS3mXZ39UnzNtbYs4eCdCdAicLgmZCfZYpIITq6wuBa BgAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:cc:references:to :subject:arc-authentication-results; bh=7e+qdg1GKuBqtZOCmjNCq+pMiDb7A6NVnWdx7jCEaWY=; b=xBN30zQJ2IdMBwLo72Ux44tZs5dYvg6t1qL5rlw8Grrm/ebX2MuZGD/PyPpY3B9+mM HjoLNfh5CReHk7nontUi2BLKudkneb+wI8x29i9MM3et4OZcDZuut3+TDGcqEjOuSnXU SFazLSzu2KF/AYz8hqHuLB7wFbfzWf/v5dxjFkE4/EwVwo8RxgoL+QxSB2f+ZFzt86wq R+xEi5vRIsxOCZmtG1DU45qYJE+y6hnEy4ycQloaPoN5+Ipl56sCGaIM9z4S2sgRPB8n saaLmGagkxr0nuLgz0FQr/xz7ac/hBl42gqNvgTtNoB/Fpz7KHQ1SPDyKwBaS30dYXgf oC2Q== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k1-v6si5949625pld.40.2018.07.05.06.47.37; Thu, 05 Jul 2018 06:47:52 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753649AbeGENq4 (ORCPT + 99 others); Thu, 5 Jul 2018 09:46:56 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:51420 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753290AbeGENqy (ORCPT ); Thu, 5 Jul 2018 09:46:54 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 993898577C; Thu, 5 Jul 2018 13:46:53 +0000 (UTC) Received: from localhost.localdomain (ovpn-116-118.ams2.redhat.com [10.36.116.118]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 63E292026D74; Thu, 5 Jul 2018 13:46:51 +0000 (UTC) Subject: Re: [kvmtool test PATCH 22/24] kvmtool: arm64: Add support for guest physical address size To: Marc Zyngier , Julien Grall , Will Deacon References: <1530270944-11351-1-git-send-email-suzuki.poulose@arm.com> <1530270944-11351-23-git-send-email-suzuki.poulose@arm.com> <20180704140943.GF4828@arm.com> <8c9bb3cd-f673-17f3-656f-66b7e14fc73c@arm.com> <20180704155231.GP4828@arm.com> Cc: Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, james.morse@arm.com, cdall@kernel.org, catalin.marinas@arm.com, punit.agrawal@arm.com, qemu-devel@nongnu.org From: Auger Eric Message-ID: Date: Thu, 5 Jul 2018 15:46:50 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Thu, 05 Jul 2018 13:46:53 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Thu, 05 Jul 2018 13:46:53 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'eric.auger@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc, On 07/05/2018 03:20 PM, Marc Zyngier wrote: > On 05/07/18 13:47, Julien Grall wrote: >> Hi Will, >> >> On 04/07/18 16:52, Will Deacon wrote: >>> On Wed, Jul 04, 2018 at 04:00:11PM +0100, Julien Grall wrote: >>>> On 04/07/18 15:09, Will Deacon wrote: >>>>> On Fri, Jun 29, 2018 at 12:15:42PM +0100, Suzuki K Poulose wrote: >>>>>> Add an option to specify the physical address size used by this >>>>>> VM. >>>>>> >>>>>> Signed-off-by: Suzuki K Poulose >>>>>> --- >>>>>> arm/aarch64/include/kvm/kvm-config-arch.h | 5 ++++- >>>>>> arm/include/arm-common/kvm-config-arch.h | 1 + >>>>>> 2 files changed, 5 insertions(+), 1 deletion(-) >>>>>> >>>>>> diff --git a/arm/aarch64/include/kvm/kvm-config-arch.h b/arm/aarch64/include/kvm/kvm-config-arch.h >>>>>> index 04be43d..dabd22c 100644 >>>>>> --- a/arm/aarch64/include/kvm/kvm-config-arch.h >>>>>> +++ b/arm/aarch64/include/kvm/kvm-config-arch.h >>>>>> @@ -8,7 +8,10 @@ >>>>>> "Create PMUv3 device"), \ >>>>>> OPT_U64('\0', "kaslr-seed", &(cfg)->kaslr_seed, \ >>>>>> "Specify random seed for Kernel Address Space " \ >>>>>> - "Layout Randomization (KASLR)"), >>>>>> + "Layout Randomization (KASLR)"), \ >>>>>> + OPT_INTEGER('\0', "phys-shift", &(cfg)->phys_shift, \ >>>>>> + "Specify maximum physical address size (not " \ >>>>>> + "the amount of memory)"), >>>>> >>>>> Given that this is a shift value, I think the help message could be more >>>>> informative. Something like: >>>>> >>>>> "Specify maximum number of bits in a guest physical address" >>>>> >>>>> I think I'd actually leave out any mention of memory, because this does >>>>> actually have an effect on the amount of addressable memory in a way that I >>>>> don't think we want to describe in half of a usage message line :) >>>> Is there any particular reasons to expose this option to the user? >>>> >>>> I have recently sent a series to allow the user to specify the position >>>> of the RAM [1]. With that series in mind, I think the user would not really >>>> need to specify the maximum physical shift. Instead we could automatically >>>> find it. >>> >>> Marc makes a good point that it doesn't help for MMIO regions, so I'm trying >>> to understand whether we can do something differently there and avoid >>> sacrificing the type parameter. >> >> I am not sure to understand this. kvmtools knows the memory layout >> (including MMIOs) of the guest, so couldn't it guess the maximum >> physical shift for that? > > That's exactly what Will was trying to avoid, by having KVM to compute > the size of the IPA space based on the registered memslots. We've now > established that it doesn't work, so what we need to define is: > > - whether we need another ioctl(), or do we carry on piggy-backing on > the CPU type, kvm type I guess > - assuming the latter, whether we can reduce the number of bits used in > the ioctl parameter by subtly encoding the IPA size. Getting benefit from your Freudian slip, how should guest CPU PARange and maximum number of bits in a guest physical address relate? My understanding is they are not correlated at the moment and our guest PARange is fixed at the moment. But shouldn't they? On Intel there is qemu-system-x86_64 -M pc,accel=kvm -cpu SandyBridge,phys-bits=36 or qemu-system-x86_64 -M pc,accel=kvm -cpu SandyBridge,host-phys-bits=true where phys-bits, as far as I understand has a a similar semantics as the PARange. Thanks Eric > > Thanks, > > M. >