[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH 11/49] ARM: VGIC: reorder prototypes in vgic.h
Hi Andre, On 09/02/18 14:38, Andre Przywara wrote: /* - * Allocate a guest VIRQ - * - spi == 0 => allocate a PPI. It will be the same on every vCPU - * - spi == 1 => allocate an SPI + * In the moment vgic_num_irqs() just covers SPIs and the private IRQs, + * as it's mostly used for allocating the pending_irq and irq_desc array, + * in which LPIs don't participate. */ -extern int vgic_allocate_virq(struct domain *d, bool spi); +#define vgic_num_irqs(d) ((d)->arch.vgic.nr_spis + 32)+/*+ * Allocate a guest VIRQ + * - is_spi == 0 => allocate a PPI. It will be the same on every vCPU + * - is_spi == 1 => allocate an SPI + */ +extern int vgic_allocate_virq(struct domain *d, bool is_spi); +/* Reserve a specific guest vIRQ */ +extern bool vgic_reserve_virq(struct domain *d, unsigned int virq); +extern void vgic_free_virq(struct domain *d, unsigned int virq); newline here please. Otherwise the split looks good: Reviewed-by: Julien Grall <julien.grall@xxxxxxx> Cheers, static inline int vgic_allocate_ppi(struct domain *d) { return vgic_allocate_virq(d, false /* ppi */); @@ -340,18 +340,21 @@ static inline int vgic_allocate_spi(struct domain *d) return vgic_allocate_virq(d, true /* spi */); }-extern void vgic_free_virq(struct domain *d, unsigned int virq);+struct irq_desc *vgic_get_hw_irq_desc(struct domain *d, struct vcpu *v, + unsigned int virq); +int vgic_connect_hw_irq(struct domain *d, struct vcpu *v, unsigned int virq, + struct irq_desc *desc, bool connect);-void vgic_v2_setup_hw(paddr_t dbase, paddr_t cbase, paddr_t csize,- paddr_t vbase, uint32_t aliased_offset); +bool vgic_evtchn_irq_pending(struct vcpu *v);-#ifdef CONFIG_HAS_GICV3-struct rdist_region; -void vgic_v3_setup_hw(paddr_t dbase, - unsigned int nr_rdist_regions, - const struct rdist_region *regions, - unsigned int intid_bits); -#endif +int domain_vgic_register(struct domain *d, int *mmio_count); +int domain_vgic_init(struct domain *d, unsigned int nr_spis); +void domain_vgic_free(struct domain *d); +int vcpu_vgic_init(struct vcpu *vcpu); +int vcpu_vgic_free(struct vcpu *vcpu); + +int vgic_inject_irq(struct domain *d, struct vcpu *v, unsigned int virq, + bool level);#endif /* __ASM_ARM_VGIC_H__ */ -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |