From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: Luc Michel <luc.michel@amd.com>,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Francisco Iglesias <francisco.iglesias@amd.com>,
	"Edgar E . Iglesias" <edgar.iglesias@amd.com>,
	Alistair Francis <alistair@alistair23.me>,
	Frederic Konrad <frederic.konrad@amd.com>,
	Sai Pavan Boddu <sai.pavan.boddu@amd.com>
Subject: Re: [PATCH v6 40/47] hw/arm/xlnx-versal: add versal2 SoC
Date: Mon, 29 Sep 2025 12:37:12 +0200	[thread overview]
Message-ID: <fb099da4-19b3-48af-bf22-b08b0d42ce4b@linaro.org> (raw)
In-Reply-To: <20250926070806.292065-41-luc.michel@amd.com>
On 26/9/25 09:07, Luc Michel wrote:
> Add the Versal Gen 2 (versal2) version of the Versal SoC family.
> This version embeds up to 8 Cortex-A78AE cores (split into 4 clusters)
> and 10 Cortex-R52 cores (split into 5 clusters). The similarities
> between versal and versal2 in term of architecture allow to reuse the
> VersalMap structure to almost fully describe the implemented parts of
> versal2.
> 
> The versal2 eFuse device differs quite a lot from the versal one and is
> left as future work.
> 
> Signed-off-by: Luc Michel <luc.michel@amd.com>
> Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>   include/hw/arm/xlnx-versal.h |  17 ++-
>   hw/arm/xlnx-versal.c         | 207 ++++++++++++++++++++++++++++++++---
>   2 files changed, 209 insertions(+), 15 deletions(-)
> 
> diff --git a/include/hw/arm/xlnx-versal.h b/include/hw/arm/xlnx-versal.h
> index b6cc71f7209..e1fb1f4cf5b 100644
> --- a/include/hw/arm/xlnx-versal.h
> +++ b/include/hw/arm/xlnx-versal.h
> @@ -1,7 +1,7 @@
>   /*
> - * Model of the Xilinx Versal
> + * AMD/Xilinx Versal family SoC model.
>    *
>    * Copyright (c) 2018 Xilinx Inc.
>    * Copyright (c) 2025 Advanced Micro Devices, Inc.
>    * Written by Edgar E. Iglesias
>    *
> @@ -20,10 +20,11 @@
>   
>   #define TYPE_XLNX_VERSAL_BASE "xlnx-versal-base"
>   OBJECT_DECLARE_TYPE(Versal, VersalClass, XLNX_VERSAL_BASE)
>   
>   #define TYPE_XLNX_VERSAL "xlnx-versal"
> +#define TYPE_XLNX_VERSAL2 "xlnx-versal2"
>   
>   struct Versal {
>       /*< private >*/
>       SysBusDevice parent_obj;
>   
> @@ -70,6 +71,20 @@ hwaddr versal_get_reserved_mmio_addr(Versal *s);
>   
>   int versal_get_num_cpu(VersalVersion version);
>   int versal_get_num_can(VersalVersion version);
>   int versal_get_num_sdhci(VersalVersion version);
>   
> +static inline const char *versal_get_class(VersalVersion version)
> +{
Not a blocker, but inlining isn't really justified here.
> +    switch (version) {
> +    case VERSAL_VER_VERSAL:
> +        return TYPE_XLNX_VERSAL;
> +
> +    case VERSAL_VER_VERSAL2:
> +        return TYPE_XLNX_VERSAL2;
> +
> +    default:
> +        g_assert_not_reached();
> +    }
> +}
next prev parent reply	other threads:[~2025-09-29 10:39 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-26  7:07 [PATCH v6 00/47] AMD Versal Gen 2 support Luc Michel
2025-09-26  7:07 ` [PATCH v6 01/47] hw/arm/xlnx-versal: split the xlnx-versal type Luc Michel
2025-09-26  7:07 ` [PATCH v6 02/47] hw/arm/xlnx-versal: prepare for FDT creation Luc Michel
2025-09-26  7:07 ` [PATCH v6 03/47] hw/arm/xlnx-versal: uart: refactor creation Luc Michel
2025-09-26  7:07 ` [PATCH v6 04/47] hw/arm/xlnx-versal: canfd: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 05/47] hw/arm/xlnx-versal: sdhci: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 06/47] hw/arm/xlnx-versal: gem: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 07/47] hw/arm/xlnx-versal: adma: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 08/47] hw/arm/xlnx-versal: xram: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 09/47] hw/arm/xlnx-versal: usb: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 10/47] hw/arm/xlnx-versal: efuse: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 11/47] hw/arm/xlnx-versal: ospi: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 12/47] hw/arm/xlnx-versal: VersalMap: add support for OR'ed IRQs Luc Michel
2025-09-26  7:07 ` [PATCH v6 13/47] hw/arm/xlnx-versal: PMC IOU SCLR: refactor creation Luc Michel
2025-09-26  7:07 ` [PATCH v6 14/47] hw/arm/xlnx-versal: bbram: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 15/47] hw/arm/xlnx-versal: trng: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 16/47] hw/arm/xlnx-versal: rtc: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 17/47] hw/arm/xlnx-versal: cfu: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 18/47] hw/arm/xlnx-versal: crl: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 19/47] hw/arm/xlnx-versal-virt: virtio: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 20/47] hw/arm/xlnx-versal: refactor CPU cluster creation Luc Michel
2025-09-26  7:07 ` [PATCH v6 21/47] hw/arm/xlnx-versal: add the mp_affinity property to the CPU mapping Luc Michel
2025-09-26  7:07 ` [PATCH v6 22/47] hw/arm/xlnx-versal: instantiate the GIC ITS in the APU Luc Michel
2025-09-26  7:07 ` [PATCH v6 23/47] hw/intc/arm_gicv3: Introduce a 'first-cpu-index' property Luc Michel
2025-09-29 10:29   ` Philippe Mathieu-Daudé
2025-09-26  7:07 ` [PATCH v6 24/47] hw/arm/xlnx-versal: add support for multiple GICs Luc Michel
2025-09-26  7:07 ` [PATCH v6 25/47] hw/arm/xlnx-versal: add support for GICv2 Luc Michel
2025-09-26  7:07 ` [PATCH v6 26/47] hw/arm/xlnx-versal: rpu: refactor creation Luc Michel
2025-09-26  7:07 ` [PATCH v6 27/47] hw/arm/xlnx-versal: ocm: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 28/47] hw/arm/xlnx-versal: ddr: " Luc Michel
2025-09-26  7:07 ` [PATCH v6 29/47] hw/arm/xlnx-versal: add the versal_get_num_cpu accessor Luc Michel
2025-09-26  7:07 ` [PATCH v6 30/47] hw/misc/xlnx-versal-crl: remove unnecessary include directives Luc Michel
2025-09-26  7:07 ` [PATCH v6 31/47] hw/misc/xlnx-versal-crl: split into base/concrete classes Luc Michel
2025-09-26  7:07 ` [PATCH v6 32/47] hw/misc/xlnx-versal-crl: refactor device reset logic Luc Michel
2025-09-26  7:07 ` [PATCH v6 33/47] hw/arm/xlnx-versal: reconnect the CRL to the other devices Luc Michel
2025-09-26  7:07 ` [PATCH v6 34/47] hw/arm/xlnx-versal: use hw/arm/bsa.h for timer IRQ indices Luc Michel
2025-09-26  7:07 ` [PATCH v6 35/47] hw/arm/xlnx-versal: tidy up Luc Michel
2025-09-26  7:07 ` [PATCH v6 36/47] hw/misc/xlnx-versal-crl: add the versal2 version Luc Michel
2025-09-26  7:07 ` [PATCH v6 37/47] hw/arm/xlnx-versal: add a per_cluster_gic switch to VersalCpuClusterMap Luc Michel
2025-09-26  7:07 ` [PATCH v6 38/47] hw/arm/xlnx-versal: add the target field in IRQ descriptor Luc Michel
2025-09-29 10:34   ` Philippe Mathieu-Daudé
2025-09-30  6:37     ` Luc Michel
2025-09-30  7:30       ` Philippe Mathieu-Daudé
2025-09-26  7:07 ` [PATCH v6 39/47] target/arm/tcg/cpu64: add the cortex-a78ae CPU Luc Michel
2025-09-26  7:07 ` [PATCH v6 40/47] hw/arm/xlnx-versal: add versal2 SoC Luc Michel
2025-09-29 10:37   ` Philippe Mathieu-Daudé [this message]
2025-09-26  7:07 ` [PATCH v6 41/47] hw/arm/xlnx-versal-virt: rename the machine to amd-versal-virt Luc Michel
2025-09-26  7:08 ` [PATCH v6 42/47] hw/arm/xlnx-versal-virt: split into base/concrete classes Luc Michel
2025-09-29 10:37   ` Philippe Mathieu-Daudé
2025-09-26  7:08 ` [PATCH v6 43/47] hw/arm/xlnx-versal-virt: tidy up Luc Michel
2025-09-26  7:08 ` [PATCH v6 44/47] docs/system/arm/xlnx-versal-virt: update supported devices Luc Michel
2025-09-26  7:08 ` [PATCH v6 45/47] docs/system/arm/xlnx-versal-virt: add a note about dumpdtb Luc Michel
2025-09-26  7:08 ` [PATCH v6 46/47] hw/arm/xlnx-versal-virt: add the xlnx-versal2-virt machine Luc Michel
2025-09-29 10:38   ` Philippe Mathieu-Daudé
2025-09-26  7:08 ` [PATCH v6 47/47] tests/functional/test_aarch64_xlnx_versal: test the versal2 machine Luc Michel
2025-09-29 10:39   ` Philippe Mathieu-Daudé
2025-09-29 10:26 ` [PATCH v6 00/47] AMD Versal Gen 2 support Philippe Mathieu-Daudé
2025-10-07  9:48 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=fb099da4-19b3-48af-bf22-b08b0d42ce4b@linaro.org \
    --to=philmd@linaro.org \
    --cc=alistair@alistair23.me \
    --cc=edgar.iglesias@amd.com \
    --cc=francisco.iglesias@amd.com \
    --cc=frederic.konrad@amd.com \
    --cc=luc.michel@amd.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sai.pavan.boddu@amd.com \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).