From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v9 4/7] xen/arm: Add virtual GICv3 support Date: Mon, 08 Sep 2014 13:35:24 -0700 Message-ID: <540E130C.4010008@linaro.org> References: <1409836527-16526-1-git-send-email-vijay.kilari@gmail.com> <1409836527-16526-5-git-send-email-vijay.kilari@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini , vijay.kilari@gmail.com Cc: Ian.Campbell@citrix.com, Prasun.Kapoor@caviumnetworks.com, Vijaya Kumar K , tim@xen.org, xen-devel@lists.xen.org, stefano.stabellini@citrix.com, jbeulich@suse.com, manish.jaggi@caviumnetworks.com List-Id: xen-devel@lists.xenproject.org Hi Stefano, On 04/09/14 17:49, Stefano Stabellini wrote: > On Thu, 4 Sep 2014, vijay.kilari@gmail.com wrote: >> From: Vijaya Kumar K >> >> Add virtual GICv3 driver support. >> Also, with this patch vgic_irq_rank structure is modified to >> hold GICv2 GICD_TARGET and GICv3 GICD_ROUTER registers under >> union. >> >> This patch adds only basic GICv3 support. >> Does not support Interrupt Translation support (ITS) >> >> Signed-off-by: Vijaya Kumar K >> --- >> v9: - Use 128K mask to compute GICR register offset if stride >> is not set >> - Fix alignment errors in vgic-v2.c >> - Updated vgic_{lock,unlock}_rank >> v8: - Fixed printk coding styles >> - Moved GICD_PIDRn and GICR_PIDRn macros to vgic-v3.c >> from header file >> - Check is made on return value of vgic_v3_init() >> v7: Fixed coding style. >> v6: Removed byte read access for IROUTERN register. >> diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c >> index 129b1b5..cf3834e 100644 >> --- a/xen/arch/arm/vgic.c >> +++ b/xen/arch/arm/vgic.c >> @@ -69,6 +69,12 @@ int domain_vgic_init(struct domain *d) >> >> switch ( gic_hw_version() ) >> { >> +#ifdef CONFIG_ARM_64 >> + case GIC_V3: >> + if ( vgic_v3_init(d) ) >> + return -ENODEV; >> + break; >> +#endif > > Why the #ifdef? AFAIK, GICv3 is only supported on ARMv8 platform. Hence it's only compiled for this platform. The #ifdef looks good to me. Regards, -- Julien Grall