[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 12/15] xen/arm: gic: Store the necessary HW information per vGIC ...
Hi Ian, On 30/06/15 13:56, Ian Campbell wrote: > On Fri, 2015-06-26 at 10:34 +0100, Julien Grall wrote: >> ... in order to decouple the vGIC driver from the GIC driver. >> >> Each vGIC HW structure contains a boolean to indicate if the current GIC is >> able to support this specific version of virtual GIC. >> >> Helpers have been introduced in order to help the GIC to setup correctly >> the vGIC. The GIC will have to call them to announce the support of this >> specific version. >> > > "...to help the GIC correctly setup the vGIC" > > "...to announce support for this specific version" > > >> Also drop fields that become unecessary in each global state. > > "unnecessary" I will fix it in the next version. >> @@ -228,6 +232,55 @@ static inline int vgic_allocate_spi(struct domain *d) >> >> extern void vgic_free_virq(struct domain *d, unsigned int virq); >> >> +struct vgic_v2_hw_config >> +{ >> + bool_t enabled; >> + /* Distributor interface address */ >> + paddr_t dbase; >> + /* CPU interface address */ >> + paddr_t cbase; >> + /* Virtual CPU interface address */ >> + paddr_t vbase; >> +}; >> + >> +extern struct vgic_v2_hw_config vgic_v2_hw; > > My inclination is to call this either vgic_v2_hwdom(_config) (since it > is vgic config for the hw dom) or to call it gic_v2_hw_config (since it > contains config info of the physical gic which we happen to be going to > use for vgic). > > I think given the expected usage the former makes more sense. I think that the 2 names don't work for the usage of the structure: - vgic_v2_hwdom: vbase is used to map the guest CPU interface into the virtual CPU interface - gic_v2_hw_config: it gives the impression to be physical GIC specific rather the virtual GIC. I would prefer to stick in vgic_v2_hw_config which show that we use it for the virtual GIC. >> + >> +static inline void vgic_v2_setup_hw(paddr_t dbase, paddr_t cbase, >> + paddr_t vbase) >> +{ >> + vgic_v2_hw.enabled = 1; >> + vgic_v2_hw.dbase = dbase; >> + vgic_v2_hw.cbase = cbase; >> + vgic_v2_hw.vbase = vbase; >> +} > > If you were to move this out of line into vgic-v2.c would that mean that > vgic_v2_hw_config etc could be static to that file? No, we have to access the field enabled in domain_vgic_init to verify the GIC is supporting the version of the vGIC. Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |