RE: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
> -Original Message- > From: Bernhard Beschow > Sent: 02 December 2025 17:13 > To: [email protected]; Gaurav Sharma > Cc: [email protected]; [email protected] > Subject: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM > EVK(Evaluation Kit) board > > Caution: This is an external email. Please take care when clicking links or > opening attachments. When in doubt, report the message using the 'Report > this email' button > > > Am 19. November 2025 13:00:15 UTC schrieb Gaurav Sharma > : > >Implemented CPUs, RAM, UARTs and Interrupt Controller Other peripherals > >are represented as TYPE_UNIMPLEMENTED_DEVICE Complete memory map > of the > >SoC is provided. > > > >Signed-off-by: Gaurav Sharma > >--- > > docs/system/arm/imx8mm-evk.rst | 68 ++ > > docs/system/target-arm.rst | 1 + > > hw/arm/Kconfig | 12 ++ > > hw/arm/fsl-imx8mm.c| 363 + > > hw/arm/imx8mm-evk.c| 109 ++ > > hw/arm/meson.build | 2 + > > include/hw/arm/fsl-imx8mm.h| 156 ++ > > 7 files changed, 711 insertions(+) > > create mode 100644 docs/system/arm/imx8mm-evk.rst create mode > 100644 > >hw/arm/fsl-imx8mm.c create mode 100644 hw/arm/imx8mm-evk.c create > >mode 100644 include/hw/arm/fsl-imx8mm.h > > > >diff --git a/docs/system/arm/imx8mm-evk.rst > >b/docs/system/arm/imx8mm-evk.rst new file mode 100644 index > >00..408253193c > >--- /dev/null > >+++ b/docs/system/arm/imx8mm-evk.rst > >@@ -0,0 +1,68 @@ > >+NXP i.MX 8MM Evaluation Kit (``imx8mm-evk``) > >+ > >+ > >+The ``imx8mm-evk`` machine models the i.MX 8M Mini Evaluation Kit, > >+based on an i.MX 8MM SoC. > >+ > >+Supported devices > >+- > >+ > >+The ``imx8mm-evk`` machine implements the following devices: > >+ > >+ * Up to 4 Cortex-A53 cores > >+ * Generic Interrupt Controller (GICv3) > >+ * 4 UARTs > >+ > >+Boot options > >+ > >+ > >+The ``imx8mm-evk`` machine can start a Linux kernel directly using the > >+standard ``-kernel`` functionality. > >+ > >+Direct Linux Kernel Boot > >+'''''''''''''''''''''''' > >+ > >+Probably the easiest way to get started with a whole Linux system on > >+the machine is to generate an image with Buildroot. Version 2024.11.1 > >+is tested at the time of writing and involves two steps. First run the > >+following commands in the toplevel directory of the Buildroot source tree: > >+ > >+.. code-block:: bash > >+ > >+ $ make freescale_imx8mmevk_defconfig $ make > >+ > >+Once finished successfully there is an ``output/image`` subfolder. > >+Navigate into it and resize the SD card image to a power of two: > >+ > >+.. code-block:: bash > >+ > >+ $ qemu-img resize sdcard.img 256M > >+ > >+Now that everything is prepared the machine can be started as follows: > >+ > >+.. code-block:: bash > >+ > >+ $ qemu-system-aarch64 -M imx8mm-evk -smp 4 -m 3G \ > >+ -display none -serial null -serial stdio \ > >+ -kernel Image \ > >+ -dtb imx8mm-evk.dtb \ > >+ -append "root=/dev/mmcblk2p2" \ > >+ -drive file=sdcard.img,if=sd,bus=2,format=raw,id=mmcblk2 > >+ > >+ > >+KVM Acceleration > >+ > >+ > >+Be aware of the following limitations: > >+ > >+* The ``imx8mm-evk`` machine is not included under the "virtualization use > case" > >+ of :doc:`QEMU's security policy `. This means that > >+you > >+ should not trust that it can contain malicious guests, whether it is > >+run > >+ using TCG or KVM. If you don't trust your guests and you're relying > >+on QEMU to > >+ be the security boundary, you want to choose another machine such as > ``virt``. > >+* Rather than Cortex-A53 CPUs, the same CPU type as the host's will be > used. > >+ This is a limitation of KVM and may not work with guests with a > >+tight > >+ dependency on Cortex-A53. > >+* No EL2 and EL3 exception levels are available which is also a KVM > limitation. > >+ Direct kernel boot should work but running U-Boot, TF-A, etc. won't > succeed. > >diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst > >index a96d1867df..d6a4b5b
Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
Am 19. November 2025 13:00:15 UTC schrieb Gaurav Sharma : >Implemented CPUs, RAM, UARTs and Interrupt Controller >Other peripherals are represented as TYPE_UNIMPLEMENTED_DEVICE >Complete memory map of the SoC is provided. > >Signed-off-by: Gaurav Sharma >--- > docs/system/arm/imx8mm-evk.rst | 68 ++ > docs/system/target-arm.rst | 1 + > hw/arm/Kconfig | 12 ++ > hw/arm/fsl-imx8mm.c| 363 + > hw/arm/imx8mm-evk.c| 109 ++ > hw/arm/meson.build | 2 + > include/hw/arm/fsl-imx8mm.h| 156 ++ > 7 files changed, 711 insertions(+) > create mode 100644 docs/system/arm/imx8mm-evk.rst > create mode 100644 hw/arm/fsl-imx8mm.c > create mode 100644 hw/arm/imx8mm-evk.c > create mode 100644 include/hw/arm/fsl-imx8mm.h > >diff --git a/docs/system/arm/imx8mm-evk.rst b/docs/system/arm/imx8mm-evk.rst >new file mode 100644 >index 00..408253193c >--- /dev/null >+++ b/docs/system/arm/imx8mm-evk.rst >@@ -0,0 +1,68 @@ >+NXP i.MX 8MM Evaluation Kit (``imx8mm-evk``) >+ >+ >+The ``imx8mm-evk`` machine models the i.MX 8M Mini Evaluation Kit, based on an >+i.MX 8MM SoC. >+ >+Supported devices >+- >+ >+The ``imx8mm-evk`` machine implements the following devices: >+ >+ * Up to 4 Cortex-A53 cores >+ * Generic Interrupt Controller (GICv3) >+ * 4 UARTs >+ >+Boot options >+ >+ >+The ``imx8mm-evk`` machine can start a Linux kernel directly using the >standard >+``-kernel`` functionality. >+ >+Direct Linux Kernel Boot >+ >+ >+Probably the easiest way to get started with a whole Linux system on the >machine >+is to generate an image with Buildroot. Version 2024.11.1 is tested at the >time >+of writing and involves two steps. First run the following commands in the >+toplevel directory of the Buildroot source tree: >+ >+.. code-block:: bash >+ >+ $ make freescale_imx8mmevk_defconfig >+ $ make >+ >+Once finished successfully there is an ``output/image`` subfolder. Navigate >into >+it and resize the SD card image to a power of two: >+ >+.. code-block:: bash >+ >+ $ qemu-img resize sdcard.img 256M >+ >+Now that everything is prepared the machine can be started as follows: >+ >+.. code-block:: bash >+ >+ $ qemu-system-aarch64 -M imx8mm-evk -smp 4 -m 3G \ >+ -display none -serial null -serial stdio \ >+ -kernel Image \ >+ -dtb imx8mm-evk.dtb \ >+ -append "root=/dev/mmcblk2p2" \ >+ -drive file=sdcard.img,if=sd,bus=2,format=raw,id=mmcblk2 >+ >+ >+KVM Acceleration >+ >+ >+Be aware of the following limitations: >+ >+* The ``imx8mm-evk`` machine is not included under the "virtualization use >case" >+ of :doc:`QEMU's security policy `. This means that you >+ should not trust that it can contain malicious guests, whether it is run >+ using TCG or KVM. If you don't trust your guests and you're relying on QEMU >to >+ be the security boundary, you want to choose another machine such as >``virt``. >+* Rather than Cortex-A53 CPUs, the same CPU type as the host's will be used. >+ This is a limitation of KVM and may not work with guests with a tight >+ dependency on Cortex-A53. >+* No EL2 and EL3 exception levels are available which is also a KVM >limitation. >+ Direct kernel boot should work but running U-Boot, TF-A, etc. won't succeed. >diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst >index a96d1867df..d6a4b5bb00 100644 >--- a/docs/system/target-arm.rst >+++ b/docs/system/target-arm.rst >@@ -97,6 +97,7 @@ Board-specific documentation >arm/mcimx6ul-evk >arm/mcimx7d-sabre >arm/imx8mp-evk >+ arm/imx8mm-evk >arm/orangepi >arm/raspi >arm/collie >diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig >index 0cdeb60f1f..7c66f3c3cd 100644 >--- a/hw/arm/Kconfig >+++ b/hw/arm/Kconfig >@@ -626,6 +626,18 @@ config FSL_IMX8MP_EVK > depends on TCG || KVM > select FSL_IMX8MP > >+config FSL_IMX8MM >+bool >+select ARM_GIC >+select IMX >+ >+config FSL_IMX8MM_EVK >+bool >+default y >+depends on AARCH64 >+depends on TCG || KVM Please remove the `|| KVM` since that caused `make check` failures in imx8mp-evk in KVM-only builds. See https://lore.kernel.org/qemu-devel/cafeaca893xctzwwivbob_t252mwfjh8jqyh3pjbkkyxijgv...@mail.gmail.com/ . With that fixed the patch LGTM, though I'd form my final opinion when looking at a diff to imx8mp. Best regards, Bernhard >+select FSL_IMX8MM >+ > config ARM_SMMUV3 > bool > >diff --git a/hw/arm/fsl-imx8mm.c b/hw/arm/fsl-imx8mm.c >new file mode 100644 >index 00..0c658141cf >--- /dev/null >+++ b/hw/arm/fsl-imx8mm.c >@@ -0,0 +1,363 @@ >+/* >+ * i.MX 8MM SoC Implementation >+ * >+ * Based on hw/arm/fsl-imx6.c >+ * >+ * Copyright (c) 2025, Gaurav Sharma >+ * >+ * SPDX-License-Identifier: GPL-2.0-or-later >+ */ >+ >+#include "qemu/osdep.h" >+#include "system/address-spaces.h" >+
RE: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
> -Original Message- > From: Peter Maydell > Sent: 02 December 2025 16:16 > To: Gaurav Sharma > Cc: [email protected]; [email protected] > Subject: Re: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM > EVK(Evaluation Kit) board > > Caution: This is an external email. Please take care when clicking links or > opening attachments. When in doubt, report the message using the 'Report > this email' button > > > On Tue, 2 Dec 2025 at 10:33, Gaurav Sharma > wrote: > > > > > > > > > -Original Message- > > > From: Peter Maydell > > > Sent: 02 December 2025 15:30 > > > To: Gaurav Sharma > > > Cc: [email protected]; [email protected] > > > Subject: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM > > > EVK(Evaluation Kit) board > > > > > > Caution: This is an external email. Please take care when clicking > > > links or opening attachments. When in doubt, report the message > > > using the 'Report this email' button > > > > > > > > > On Wed, 19 Nov 2025 at 13:00, Gaurav Sharma > > > > > > wrote: > > > > > > > > Implemented CPUs, RAM, UARTs and Interrupt Controller Other > > > > peripherals are represented as TYPE_UNIMPLEMENTED_DEVICE > Complete > > > > memory map of the SoC is provided. > > > > > > > > Signed-off-by: Gaurav Sharma > > > > --- > > > > docs/system/arm/imx8mm-evk.rst | 68 ++ > > > > docs/system/target-arm.rst | 1 + > > > > hw/arm/Kconfig | 12 ++ > > > > hw/arm/fsl-imx8mm.c| 363 > + > > > > hw/arm/imx8mm-evk.c| 109 ++ > > > > hw/arm/meson.build | 2 + > > > > include/hw/arm/fsl-imx8mm.h| 156 ++ > > > > > > Could you also add a section to MAINTAINERS for this new board, please? > > > > I was going through this > https://www.q/ > emu.org%2Fdocs%2Fmaster%2Fdevel%2Fmaintainers.html&data=05%7C02% > 7Cgaurav.sharma_7%40nxp.com%7C78fd8b65fb3546c9714e08de31900661%7 > C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C639002691828235135 > %7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAu > MDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C% > 7C%7C&sdata=J2Xk9jxc1zm84042UrNGYjmprPKTB7tuX%2BcRDOZWwOc%3D > &reserved=0. It implies that the contributors are generally people who have > been actively contributing to the community for a while. Since this is my > first > contribution to the community, whose name will go up as a Maintainer ? > > Mostly what we want here is that there's a section in the MAINTAINERS file so > the new source files for this board get listed. It's more about ensuring the > right people get cc'd for reviewing future patches than anything else: > for Arm boards I do the "collect the patches up and send pull requests" part. > For this you can list yourself with either an M: or R: tag, as you prefer. > Include > the > "L: [email protected]" line also, and some S: tag. Got it. Will update.
Re: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
On Tue, 2 Dec 2025 at 10:33, Gaurav Sharma wrote: > > > > > -Original Message- > > From: Peter Maydell > > Sent: 02 December 2025 15:30 > > To: Gaurav Sharma > > Cc: [email protected]; [email protected] > > Subject: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM > > EVK(Evaluation Kit) board > > > > Caution: This is an external email. Please take care when clicking links or > > opening attachments. When in doubt, report the message using the 'Report > > this email' button > > > > > > On Wed, 19 Nov 2025 at 13:00, Gaurav Sharma > > wrote: > > > > > > Implemented CPUs, RAM, UARTs and Interrupt Controller Other > > > peripherals are represented as TYPE_UNIMPLEMENTED_DEVICE Complete > > > memory map of the SoC is provided. > > > > > > Signed-off-by: Gaurav Sharma > > > --- > > > docs/system/arm/imx8mm-evk.rst | 68 ++ > > > docs/system/target-arm.rst | 1 + > > > hw/arm/Kconfig | 12 ++ > > > hw/arm/fsl-imx8mm.c| 363 + > > > hw/arm/imx8mm-evk.c| 109 ++ > > > hw/arm/meson.build | 2 + > > > include/hw/arm/fsl-imx8mm.h| 156 ++ > > > > Could you also add a section to MAINTAINERS for this new board, please? > > I was going through this > https://www.qemu.org/docs/master/devel/maintainers.html. It implies that the > contributors are generally people who have been actively contributing to the > community for a while. Since this is my first contribution to the community, > whose name will go up as a Maintainer ? Mostly what we want here is that there's a section in the MAINTAINERS file so the new source files for this board get listed. It's more about ensuring the right people get cc'd for reviewing future patches than anything else: for Arm boards I do the "collect the patches up and send pull requests" part. For this you can list yourself with either an M: or R: tag, as you prefer. Include the "L: [email protected]" line also, and some S: tag. thanks -- PMM
RE: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
> -Original Message- > From: Peter Maydell > Sent: 02 December 2025 15:30 > To: Gaurav Sharma > Cc: [email protected]; [email protected] > Subject: [EXT] Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM > EVK(Evaluation Kit) board > > Caution: This is an external email. Please take care when clicking links or > opening attachments. When in doubt, report the message using the 'Report > this email' button > > > On Wed, 19 Nov 2025 at 13:00, Gaurav Sharma > wrote: > > > > Implemented CPUs, RAM, UARTs and Interrupt Controller Other > > peripherals are represented as TYPE_UNIMPLEMENTED_DEVICE Complete > > memory map of the SoC is provided. > > > > Signed-off-by: Gaurav Sharma > > --- > > docs/system/arm/imx8mm-evk.rst | 68 ++ > > docs/system/target-arm.rst | 1 + > > hw/arm/Kconfig | 12 ++ > > hw/arm/fsl-imx8mm.c| 363 + > > hw/arm/imx8mm-evk.c| 109 ++ > > hw/arm/meson.build | 2 + > > include/hw/arm/fsl-imx8mm.h| 156 ++ > > Could you also add a section to MAINTAINERS for this new board, please? I was going through this https://www.qemu.org/docs/master/devel/maintainers.html. It implies that the contributors are generally people who have been actively contributing to the community for a while. Since this is my first contribution to the community, whose name will go up as a Maintainer ? > > diff --git a/hw/arm/fsl-imx8mm.c b/hw/arm/fsl-imx8mm.c new file mode > > 100644 index 00..0c658141cf > > --- /dev/null > > +++ b/hw/arm/fsl-imx8mm.c > > @@ -0,0 +1,363 @@ > > +/* > > + * i.MX 8MM SoC Implementation > > + * > > + * Based on hw/arm/fsl-imx6.c > > + * > > + * Copyright (c) 2025, Gaurav Sharma > > Are these files really Copyright you personally, rather than NXP ? This will be with NXP. I will update it. > > + * > > + * SPDX-License-Identifier: GPL-2.0-or-later */ > > Is there a URL for a reference manual for this SoC that we could give here ? > yes, will add the link of the reference manual.
Re: [PATCHv3 01/13] hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
On Wed, 19 Nov 2025 at 13:00, Gaurav Sharma wrote: > > Implemented CPUs, RAM, UARTs and Interrupt Controller > Other peripherals are represented as TYPE_UNIMPLEMENTED_DEVICE > Complete memory map of the SoC is provided. > > Signed-off-by: Gaurav Sharma > --- > docs/system/arm/imx8mm-evk.rst | 68 ++ > docs/system/target-arm.rst | 1 + > hw/arm/Kconfig | 12 ++ > hw/arm/fsl-imx8mm.c| 363 + > hw/arm/imx8mm-evk.c| 109 ++ > hw/arm/meson.build | 2 + > include/hw/arm/fsl-imx8mm.h| 156 ++ Could you also add a section to MAINTAINERS for this new board, please? > diff --git a/hw/arm/fsl-imx8mm.c b/hw/arm/fsl-imx8mm.c > new file mode 100644 > index 00..0c658141cf > --- /dev/null > +++ b/hw/arm/fsl-imx8mm.c > @@ -0,0 +1,363 @@ > +/* > + * i.MX 8MM SoC Implementation > + * > + * Based on hw/arm/fsl-imx6.c > + * > + * Copyright (c) 2025, Gaurav Sharma Are these files really Copyright you personally, rather than NXP ? > + * > + * SPDX-License-Identifier: GPL-2.0-or-later > + */ Is there a URL for a reference manual for this SoC that we could give here ? thanks -- PMM
