On 18-Aug-26 04:52, Wig Cheng wrote:
> Following Michal Orzel's review of v1, this series adds Xen support for
> the NXP i.MX8M family (i.MX8MP / MQ / MM / MN). It provides the console
> UART driver, its early printk, the platform glue (SiP SMC whitelist for
> the calls the dom0 kernel issues to TF-A), and a MAINTAINERS entry.
>
> Tested on i.MX8MP (4x Cortex-A53, GICv3) with the vendor kernel 6.18:
> dom0 boots to login on the hypervisor console, and a domU starts with a
> PV disk and virtio devices running a full Wayland distro.
>
> Notes for reviewers:
>
> - Unlike i.MX8MQ, the i.MX8MP device tree uses the GIC as the root
> interrupt controller (interrupt-parent = <&gic>), so no device-tree
> workaround is needed and power domains keep working.
>
> - The i.MX8M family has no SMMU, so device passthrough relies on the
> 1:1 direct-mapped hardware domain.
>
> - The SiP SMC whitelist forwards only the specific subfunctions the
> dom0 kernel issues, extracted from the vendor kernel call sites.
> DDR DVFS is left at service level because its reg1 is a frequency
> setpoint rather than a fixed subfunction id. No call was denied at
> runtime.
>
> Changes since v1:
>
> Patch 1 (UART driver):
> - Documentation narrowed to the i.MX8M family (dropped i.MX6/7).
> - Relicensed the new files as GPL-2.0-only.
> - Dropped the stale file-path lines from the file headers.
> - Renamed the header guard to ASM_IMX_UART_H.
> - Removed unused register/bit macros; header is now asm-safe (BIT(n, U)).
> - Also clear UCR1_TXMPTYEN on init; documented that the console is
> driven entirely through UCR1.
For the future, please include the changeset in the individual patches. This way
it's easier for us to review without having to switch between e-mails.
~Michal
>
> Patch 2 (early printk):
> - bne -> b.ne.
>
> Patch 3 (platform):
> - Build the SiP function IDs with ARM_SMCCC_CALL_VAL (IMX_SIP_FID),
> matching the i.MX8QM platform.
> - Whitelist per subfunction (GPC, SRC, NoC) instead of whole services;
> DDR DVFS and SoC info kept at service level with a comment on why.
> - Dropped the BBSM call, which is not issued on i.MX8M.
> - Fixed the misleading "secure RTC" comment and a stray space.
>
> Patch 4 (new):
> - MAINTAINERS entry, as a separate patch.
>
> v1: https://lore.kernel.org/xen-devel/20260814162535.331459-1-onlywig@gmail.com/
>
>
> Wig Cheng (4):
> xen/char: add classic i.MX UART driver
> xen/arm64: add early printk for the classic i.MX UART
> xen/arm: add i.MX8M platform support
> MAINTAINERS: add myself as reviewer of i.MX8M related patches
>
> MAINTAINERS | 7 +
> xen/arch/arm/Kconfig.debug | 12 ++
> xen/arch/arm/arm64/debug-imx-uart.inc | 37 +++++
> xen/arch/arm/include/asm/imx-uart.h | 57 +++++++
> xen/arch/arm/platforms/Makefile | 1 +
> xen/arch/arm/platforms/imx8m.c | 152 +++++++++++++++++
> xen/drivers/char/Kconfig | 8 +
> xen/drivers/char/Makefile | 1 +
> xen/drivers/char/imx-uart.c | 226 ++++++++++++++++++++++++++
> 9 files changed, 501 insertions(+)
> create mode 100644 xen/arch/arm/arm64/debug-imx-uart.inc
> create mode 100644 xen/arch/arm/include/asm/imx-uart.h
> create mode 100644 xen/arch/arm/platforms/imx8m.c
> create mode 100644 xen/drivers/char/imx-uart.c
>