[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 01/19] arm/gicv4 add management structure definitions


  • To: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
  • From: Mykola Kvach <xakep.amatop@xxxxxxxxx>
  • Date: Wed, 11 Feb 2026 10:28:13 +0200
  • Arc-authentication-results: i=1; mx.google.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=G0mCF6gCW7FxARpUXdySi7kBsVPBEEF/j/OX0R90cB4=; fh=S1TgsMYO/ju21WOcmYTQxMlAU8ImCjuw50drwKkfBt8=; b=OlQMf+d01fl8Zramr3kxc5cSxDbNpuQ2vhM4/t20Y9J5blONBzwhvTi1Fksr6tvxj8 nXV3Irfnbtum2sXMSgqWL7OMpZRmic2/p42XXqQEOmZvd2oz94LRsObsP7OlkTy34da5 xeEc3w6Osgck0PM/Wy3FnXqLkFQRsnPRL18t6bq8UduDnYt+PfK2ZfaD3E52/JpmkOXR 5xiqj2LvMAJ7TN7YRJfuqZWDXsyjmo6KTTe48WazqVYdui18akltb+/D1Jvv25EaglMM o9BYalCp4RdLK9/QhsEq0X7JIusWWHEbKTRSD1fItxeJro2ZBFvZhZDazNEFTMLrTvwT Q1TA==; darn=lists.xenproject.org
  • Arc-seal: i=1; a=rsa-sha256; t=1770798506; cv=none; d=google.com; s=arc-20240605; b=AF2k+Bf+gIUR4wKc7/EFRRYrmKIR/zAyMJwzAMVfzPabYQIC/aEx0fSBw1WmeMsKO1 NA2EWaJAMLWeKVVBcCmS53DXoBheNJNaJBSDyCFeOrJ4Dimfmthtw/UvmfC5ADx9VNVr QkHcO9VaV4mqVdd/WhVQBoiivjgMndCroVB5/rPThRxPaBLakJEbIiUpnZqx4c3DbEuA XWve6fs8BmsqPou2Gm8oGSfF/iZL87U/I2xi19QZ9E1MO6GTtkBmdnxQ0srfIn4qCu+k tn3iUbgeaYpm9NuDfVGN8MpzF41fWelHRmt9E9mxWK9qgUM0ZOFIHcuQr66+fi3Thf+U e9Ng==
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 11 Feb 2026 08:28:36 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Mykyta

Thank you for the contribution.

On Mon, Feb 2, 2026 at 6:14 PM Mykyta Poturai <Mykyta_Poturai@xxxxxxxx> wrote:
>
> Add GICv4 specific structures to be used in later patches.
>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@xxxxxxxx>
> ---
>  xen/arch/arm/include/asm/vgic.h | 43 +++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
>
> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
> index 6f9ab1c98c..a874a02d70 100644
> --- a/xen/arch/arm/include/asm/vgic.h
> +++ b/xen/arch/arm/include/asm/vgic.h
> @@ -127,6 +127,42 @@ struct vgic_irq_rank {
>      uint8_t vcpu[32];
>  };
>
> +#ifdef CONFIG_GICV4
> +struct its_vm {
> +    struct its_vpe **vpes;
> +    /* Number of VPE. */
> +    unsigned int nr_vpes;
> +    uint32_t *db_lpi_bases;
> +    unsigned int nr_db_lpis;
> +    /* Property table per VM. */
> +    void *vproptable;
> +};
> +
> +struct its_vpe {
> +    rwlock_t lock;
> +    uint32_t vpe_id;
> +    /* Pending table per VCPU. */
> +    void *vpendtable;
> +    uint32_t vpe_db_lpi;
> +    struct its_vm *its_vm;
> +    unsigned int col_idx;
> +    bool resident;
> +    /* Pending VLPIs on schedule out? */
> +    bool            pending_last;
> +    struct {
> +        /* Implementation Defined Area Invalid */
> +        bool idai;
> +        /* VPE proxy mapping */
> +        int vpe_proxy_event;
> +    };
> +    /*
> +     * Ensure mutual exclusion between affinity setting of the vPE
> +     * and vLPI operations using vpe->col_idx.
> +     */
> +    spinlock_t vpe_lock;
> +};
> +#endif
> +
>  struct vgic_dist {
>      /* Version of the vGIC */
>      enum gic_version version;
> @@ -193,6 +229,10 @@ struct vgic_dist {
>       */
>      bool rdists_enabled;                /* Is any redistributor enabled? */
>      bool has_its;
> +#ifdef CONFIG_GICV4
> +    struct its_vm *its_vm;
> +#endif
> +    bool nassgireq;

nit: unused in this series


Best regards,
Mykola


>  #endif
>  };
>
> @@ -227,6 +267,9 @@ struct vgic_cpu {
>  #define VGIC_V3_RDIST_LAST      (1 << 0)        /* last vCPU of the rdist */
>  #define VGIC_V3_LPIS_ENABLED    (1 << 1)
>      uint8_t flags;
> +#ifdef CONFIG_GICV4
> +    struct its_vpe *its_vpe;
> +#endif
>  };
>
>  struct sgi_target {
> --
> 2.51.2



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.