From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v3 06/15] xen/arm: vgic-v3: Set stride during domain initialization Date: Thu, 19 Feb 2015 16:06:53 +0000 Message-ID: <54E60A1D.9020808@linaro.org> References: <1424098255-22490-1-git-send-email-julien.grall@linaro.org> <1424098255-22490-7-git-send-email-julien.grall@linaro.org> <1424361502.30924.102.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YOTdx-0004iW-R2 for xen-devel@lists.xenproject.org; Thu, 19 Feb 2015 16:08:01 +0000 Received: by wesw62 with SMTP id w62so622206wes.9 for ; Thu, 19 Feb 2015 08:07:21 -0800 (PST) In-Reply-To: <1424361502.30924.102.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel@lists.xenproject.org, Vijaya.Kumar@caviumnetworks.com, tim@xen.org, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org On 19/02/15 15:58, Ian Campbell wrote: > On Mon, 2015-02-16 at 14:50 +0000, Julien Grall wrote: >> The stride may not be set if the hardware GIC is using the default >> layout. It happens on the Foundation model. >> >> On GICv3, the default stride is 2 * 64K. Therefore it's possible to avoid >> checking at every redistributor MMIO access if the stride is not set. >> >> Because domU uses a static stride configuration this only happens for >> dom0, so we can move this code in gicv_v3_init. Take the opportunity to move >> the stride setting a bit earlier because the loop to set regions will require >> the stride. >> >> Also, use 2 * 64K rather than 128K and explain the reason. >> >> Signed-off-by: Julien Grall > > Acked-by: Ian Campbell > >> I wasn't not sure where to move this code. I find very confusion the >> splitting between vgic and gicv. Maybe we should introduce a >> hwdom_gicv_init and giccc_map callbacks. Then move most of the >> initialization in the vgic one. > > What is giccc? I'm not familiar enough with this code to rule on what > should go where. Perhaps Stefano has an opinion. I think the name of giccc what bad here. What I wanted to mean is splitting the current gicv_setup code in 2 parts: - Mapping GICV to the guest - Set up the hwdom information This will bring a better partition to the code and bring GICv2 on GICv3 support more quickly. I will talk with Stefano about this possibility. Regards, -- Julien Grall