[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 16/23] arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl
- To: Milan Djokic <milan_djokic@xxxxxxxx>
- From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
- Date: Mon, 13 Apr 2026 13:44:02 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=epam.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fAs/IheV+auxMrH8rqjFGGtBB/B27mD1QFcTXdKHfno=; b=eSVTPHfDLFNiP6Yy/tRqup2HqpejxjvwUXHNOhJ+1sacNcE6ToljSg/5euD5qm05oL4+yCu0MHZtNRz24Z8Yk5iIhq85IgrIIUHubhcSLnZla/rfNT9pkPuDbgCBg98auqDiVKzOJ0u1jkMJ9keGWDM1prgJp23A/fBcGo06ONQH9/Mq/73ZstwInGLYWjhiGnkyZ660uPeUJV7sCfw2Y5WO6ussJ4sinwTed2SNzOoK2sKjd8Bi4hEsFVSUJMKSfqN44VcDJY3H5i2Kk85VxVFLxRX0+IeaJgOP/JZ1CSGw0cnPMW+F2yBpmwGhzhtrtj2X6butASM1BZ0YtReVEg==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fAs/IheV+auxMrH8rqjFGGtBB/B27mD1QFcTXdKHfno=; b=mpXDn3Bj9PRaH2raLccTiQPYVMMuCvOyzYqCJAUCxFsHdaJdtTTG/t1oKoaHK3vziwDmE5b2/QWeFq/3gG8dN8UMdHiAnV6gH8KxMTsbIjqGufK3ADa96BopUtkP41xEjaenokOfg1KxHO/cZoW3Iku67/Gd2AkICijsUlL3PP7sOO+OpBybzl2n88rlkMOLyc5jHQcMgNEpDvS9uZCURlNybSqmLsiipmhdEF90gJOplyDjaUlZiwNhzYf2RTLMqXscp3WmTZvT50TRcOfWQ0N0Cs7a4+LCDk2y0o4pjaMRY7WTLkjvzscxddY43StkJsZQOcH9gDO1BL6Cm100fQ==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=E2d5O3UTMPkivMp1q8ugqtnIB8sdTwOwrkr2INf+Fdp1Ta+F0hX4Mm4RiHO3va0+R/6CqAXonqmGRQgPbNGi9UITP1AawHPKpl74UH9hF9oXvVLgZOld88soX4zU4cAc9sS70JHrql2k9jhSTALYM439XoaQyKhVU6Ik92LbjtC8JUyjkge6gSt+Bqi0vvIZf9+GxrfouePOvgJBIYj7iC3K+uQM+PyZ7xoqKMkZ2uB8NC4abWg+r6/vjRmK//paBmss9WqIT7QlZzVD3MbcTgPN1sk0rnU7ndXG4cCQFYrBFFEVW7Ch7MnkOK1kauzoa7+ah9xOVh2SFFefvlFNoA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IHDnAwXwfuAEuqRE1bOMIro2OaoDDm50LTukWjfJ0UNyUrsHs4kae3GH6fRAmwzbIVFacKttM7m5IqSV39DOjb2qw1RWYpvAicESicGNSMvNcTDu3nbcQCtPBtXaeuymUEOo7e0UuLjGVE84a1+nhTmwLOjmC75oNMWaWbEGJcODM+j9vwj6d/vSaKbOPm6bs2zunnvI0Fr7TWGJM7g7DEN5qb3I2j5p5SL+MV/0YsabtnzCw/oLTCjysngNagMFpQ92boYRxeSuW7SL1QUUdRRgtzueWfhZpiagNE3REqPiEs9YcxojUv3DOYVDrd3cHf4FFZVR3tzXyzFEzr4ovA==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
- Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Rahul Singh <Rahul.Singh@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
- Delivery-date: Mon, 13 Apr 2026 13:45:24 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHcy0uWtT0jmyy89kG09VrDZ/FQXg==
- Thread-topic: [PATCH v3 16/23] arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl
Hi Milan,
> On 31 Mar 2026, at 02:52, Milan Djokic <milan_djokic@xxxxxxxx> wrote:
>
> From: Rahul Singh <rahul.singh@xxxxxxx>
>
> libxl will create an Emulated SMMUv3 device tree node in the device
> tree to enable the guest OS to discover the virtual SMMUv3 during guest
> boot.
>
> Emulated SMMUv3 device tree node will only be created when
> "viommu=smmuv3" is set in xl domain configuration.
>
> Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
> Signed-off-by: Milan Djokic <milan_djokic@xxxxxxxx>
> ---
> tools/libs/light/libxl_arm.c | 37 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index a248793588..eb879473f5 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -901,6 +901,36 @@ static int make_vpl011_uart_node(libxl__gc *gc, void
> *fdt,
> return 0;
> }
>
> +static int make_vsmmuv3_node(libxl__gc *gc, void *fdt,
> + const struct arch_info *ainfo,
> + struct xc_dom_image *dom)
> +{
> + int res;
> + const char *name = GCSPRINTF("iommu@%llx", GUEST_VSMMUV3_BASE);
PRIx64 ?
> +
> + res = fdt_begin_node(fdt, name);
> + if (res) return res;
> +
> + res = fdt_property_compat(gc, fdt, 1, "arm,smmu-v3");
> + if (res) return res;
> +
> + res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
> + GUEST_ROOT_SIZE_CELLS, 1, GUEST_VSMMUV3_BASE,
> + GUEST_VSMMUV3_SIZE);
> + if (res) return res;
> +
> + res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_VSMMUV3);
> + if (res) return res;
> +
> + res = fdt_property_cell(fdt, "#iommu-cells", 1);
> + if (res) return res;
> +
> + res = fdt_end_node(fdt);
> + if (res) return res;
> +
> + return 0;
> +}
> +
> static int make_vpci_node(libxl__gc *gc, void *fdt,
> const struct arch_info *ainfo,
> struct xc_dom_image *dom)
> @@ -942,6 +972,10 @@ static int make_vpci_node(libxl__gc *gc, void *fdt,
> GUEST_VPCI_PREFETCH_MEM_SIZE);
> if (res) return res;
>
> + res = fdt_property_values(gc, fdt, "iommu-map", 4, 0,
> + GUEST_PHANDLE_VSMMUV3, 0, 0x10000);
> + if (res) return res;
Shouldn’t this one be protected by (info->arch_arm.viommu_type ==
LIBXL_VIOMMU_TYPE_SMMUV3)?
Cheers,
Luca
|