From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: "Phil Dennis-Jordan" <phil@philjordan.eu>,
"Alistair Francis" <alistair@alistair23.me>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Alexander Graf" <agraf@csgraf.de>,
"Jason Wang" <jasowangio@gmail.com>,
qemu-arm@nongnu.org,
"Pierrick Bouvier" <pierrick.bouvier@oss.qualcomm.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Bernhard Beschow" <shentey@gmail.com>,
"Jean-Christophe Dubois" <jcd@tribudubois.net>,
"Gaurav Sharma" <gaurav.sharma_7@nxp.com>
Subject: [PATCH 00/42] i.MX fixes and cleanup
Date: Mon, 21 Sep 2026 23:46:28 +0200 [thread overview]
Message-ID: <20260921214710.29422-1-shentey@gmail.com> (raw)
This series fixes various issues in i.MX device emulation, cleans up i.MX
Kconfig handling, improves tracing, and improves some code. Functional console
tests for the remaining i.MX boards are added where images are publicly
available, except for imx6ul which is taken care of in a different series [1].
Fixes which appear safe for backporting are cc'd to qemu-stable.
The series is structured as follows: Patches 1-4 fix some issues and are
mostly marked for backporting. Patch 2 is a follow-up on patch 1 which allows
patch 1 to be backported while patch 2 shouldn't because it breaks migration.
Patches 5-10 add and improve functional tests for i.MX devices. While at it,
saner defaults for the amount of RAM and number of CPUs are established.
Patches 11-15 turn the remaining i.MX SoC device models into SySBus devices
which fixes their reset behavior.
Patches 16 and 17 are QOM fixes inspired by Phil's comment during the FlexCAN
series.
Patches 18-33 are Kconfig cleanups where the majority is about splitting
CONFIG_IMX into dedicated config items.
The remainder is cosmetics and adding a QOM path to some i.MX trace events.
Testing done:
* Run functional tests for sabrelite, imx8mp-evk, imx8mm-evk, mcimx7d-sabre.
[1]
https://lore.kernel.org/qemu-devel/20260904161438.3838261-1-bin.
meng@processmission.com/
Bernhard Beschow (42):
hw/watchdog/wdt_imx2: Fix handling of write-once WCR bits
hw/watchdog/wdt_imx2: Remove unused attributes
hw/arm/imx8mm-evk: Fix reference count of SoC object
hw/arm/mcimx7d-sabre: Ignore memory transaction failures
docs, tests/functional: Drop redundant CLI arguments in imx8m*-evk
invocations
hw/arm/sabrelite: Have 4 CPUs and 1 GiB of RAM by default
tests/functional/arm: Add console test for `sabrelite` machine
hw/arm/mcimx6ul-evk: Have 512 MiB of RAM by default
hw/arm/mcimx7d-sabre: Have 2 CPUs and 2 GiB of RAM by default
tests/functional/arm: Add console test for `mcimx7d-sabre` machine
hw/arm/fsl-imx25: Derive from TYPE_SYS_BUS_DEVICE
hw/arm/fsl-imx31: Derive from TYPE_SYS_BUS_DEVICE
hw/arm/fsl-imx6: Derive from TYPE_SYS_BUS_DEVICE
hw/arm/fsl-imx6ul: Derive from TYPE_SYS_BUS_DEVICE
hw/arm/fsl-imx7: Derive from TYPE_SYS_BUS_DEVICE
hw/timer/imx_gpt: Wire clock control module via link property
hw/timer/imx_epit: Wire clock control module via link property
hw/arm/Kconfig: Select missing UNIMP in config FSL_IMX8MM
hw/misc/Kconfig: Remove redundant USB_EHCI_SYSBUS from config IMX
Kconfig: Extract config IMX_AVIC from config IMX
Kconfig: Extract config IMX_GPCV2 from config IMX
Kconfig: Extract config IMX_RNG from config IMX
Kconfig: Extract config FSL_IMX7_GPR from config IMX
Kconfig: Extract config FSL_IMX{6,7}_SRC from config IMX
Kconfig: Extract config FSL_IMX7_SNVS from config IMX
Kconfig: Extract dedicated config FSL_IMXx_CCM from config IMX
Kconfig: Extract config IMX_GPT from config IMX
Kconfig: Extract config IMX_EPIT from config IMX
Kconfig: Extract config GPIO_IMX from config IMX
Kconfig: Extract config IMX_SPI from config IMX
Kconfig: Extract config IMX_SERIAL from config IMX
Kconfig: Remove config IMX
hw/vmapple/Kconfig: Remove unused GPIO_PWR dependency
hw/arm/fsl-imx8m: Fix typo
hw/misc/imx6_src: Avoid casting from void *
hw/char/imx_serial: Avoid casting from void *
hw/intc/imx_avic: Avoid casting from void *
hw/misc/imx*_ccm: Avoid casting from void *
hw/usb/imx-usb-phy: Avoid casting from void *
hw/net/imx_fec: Trace with QOM path where easily possible
hw/net/lan9118_phy: Trace with QOM path
hw/watchdog/wdt_imx2: Trace with QOM path
MAINTAINERS | 2 +
docs/system/arm/imx8m.rst | 2 +-
docs/system/arm/sabrelite.rst | 4 +-
include/hw/arm/fsl-imx25.h | 5 +-
include/hw/arm/fsl-imx31.h | 5 +-
include/hw/arm/fsl-imx6.h | 5 +-
include/hw/arm/fsl-imx6ul.h | 5 +-
include/hw/arm/fsl-imx7.h | 5 +-
include/hw/arm/fsl-imx8mm.h | 4 +-
include/hw/arm/fsl-imx8mp.h | 4 +-
include/hw/watchdog/wdt_imx2.h | 2 -
hw/arm/fsl-imx25.c | 13 ++---
hw/arm/fsl-imx31.c | 13 ++---
hw/arm/fsl-imx6.c | 10 ++--
hw/arm/fsl-imx6ul.c | 10 ++--
hw/arm/fsl-imx7.c | 8 ++-
hw/arm/fsl-imx8mm.c | 5 +-
hw/arm/fsl-imx8mp.c | 5 +-
hw/arm/imx25_pdk.c | 2 +-
hw/arm/imx8mm-evk.c | 4 +-
hw/arm/kzm.c | 2 +-
hw/arm/mcimx6ul-evk.c | 3 +-
hw/arm/mcimx7d-sabre.c | 5 +-
hw/arm/sabrelite.c | 5 +-
hw/char/imx_serial.c | 10 ++--
hw/intc/imx_avic.c | 6 +--
hw/misc/imx25_ccm.c | 4 +-
hw/misc/imx31_ccm.c | 4 +-
hw/misc/imx6_ccm.c | 8 +--
hw/misc/imx6_src.c | 4 +-
hw/misc/imx6ul_ccm.c | 8 +--
hw/misc/imx7_src.c | 4 +-
hw/net/imx_fec.c | 28 +++++-----
hw/net/lan9118_phy.c | 10 ++--
hw/timer/imx_epit.c | 14 +++++
hw/timer/imx_gpt.c | 14 +++++
hw/usb/imx-usb-phy.c | 4 +-
hw/watchdog/wdt_imx2.c | 30 +++--------
hw/arm/Kconfig | 57 ++++++++++++++++++---
hw/char/Kconfig | 3 ++
hw/char/meson.build | 2 +-
hw/gpio/Kconfig | 3 ++
hw/gpio/meson.build | 2 +-
hw/intc/Kconfig | 6 +++
hw/intc/meson.build | 3 +-
hw/misc/Kconfig | 41 +++++++++++++--
hw/misc/meson.build | 24 ++++-----
hw/net/Kconfig | 2 +-
hw/net/trace-events | 33 ++++++------
hw/ssi/Kconfig | 4 ++
hw/ssi/meson.build | 2 +-
hw/timer/Kconfig | 10 ++++
hw/timer/meson.build | 4 +-
hw/vmapple/Kconfig | 1 -
hw/watchdog/trace-events | 8 +--
tests/functional/aarch64/test_imx8mm_evk.py | 4 +-
tests/functional/aarch64/test_imx8mp_evk.py | 4 +-
tests/functional/arm/meson.build | 2 +
tests/functional/arm/test_mcimx7d_sabre.py | 46 +++++++++++++++++
tests/functional/arm/test_sabrelite.py | 46 +++++++++++++++++
60 files changed, 393 insertions(+), 190 deletions(-)
create mode 100755 tests/functional/arm/test_mcimx7d_sabre.py
create mode 100755 tests/functional/arm/test_sabrelite.py
--
2.55.0
next reply other threads:[~2026-09-21 21:53 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 21:46 Bernhard Beschow [this message]
2026-09-21 21:46 ` [PATCH 01/42] hw/watchdog/wdt_imx2: Fix handling of write-once WCR bits Bernhard Beschow
2026-09-28 18:22 ` Peter Maydell
2026-09-28 20:55 ` Bernhard Beschow
2026-09-21 21:46 ` [PATCH 02/42] hw/watchdog/wdt_imx2: Remove unused attributes Bernhard Beschow
2026-09-28 18:24 ` Peter Maydell
2026-09-21 21:46 ` [PATCH 03/42] hw/arm/imx8mm-evk: Fix reference count of SoC object Bernhard Beschow
2026-09-28 18:36 ` Peter Maydell
2026-09-21 21:46 ` [PATCH 04/42] hw/arm/mcimx7d-sabre: Ignore memory transaction failures Bernhard Beschow
2026-09-28 18:05 ` Peter Maydell
2026-09-28 20:58 ` Bernhard Beschow
2026-09-21 21:46 ` [PATCH 05/42] docs, tests/functional: Drop redundant CLI arguments in imx8m*-evk invocations Bernhard Beschow
2026-09-28 18:37 ` Peter Maydell
2026-09-29 12:15 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 06/42] hw/arm/sabrelite: Have 4 CPUs and 1 GiB of RAM by default Bernhard Beschow
2026-09-29 12:13 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 07/42] tests/functional/arm: Add console test for `sabrelite` machine Bernhard Beschow
2026-09-29 12:14 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 08/42] hw/arm/mcimx6ul-evk: Have 512 MiB of RAM by default Bernhard Beschow
2026-09-21 21:46 ` [PATCH 09/42] hw/arm/mcimx7d-sabre: Have 2 CPUs and 2 GiB " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 10/42] tests/functional/arm: Add console test for `mcimx7d-sabre` machine Bernhard Beschow
2026-09-29 12:14 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 11/42] hw/arm/fsl-imx25: Derive from TYPE_SYS_BUS_DEVICE Bernhard Beschow
2026-09-29 12:17 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 12/42] hw/arm/fsl-imx31: " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 13/42] hw/arm/fsl-imx6: " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 14/42] hw/arm/fsl-imx6ul: " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 15/42] hw/arm/fsl-imx7: " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 16/42] hw/timer/imx_gpt: Wire clock control module via link property Bernhard Beschow
2026-09-29 12:18 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 17/42] hw/timer/imx_epit: " Bernhard Beschow
2026-09-29 12:18 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 18/42] hw/arm/Kconfig: Select missing UNIMP in config FSL_IMX8MM Bernhard Beschow
2026-09-29 12:18 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 19/42] hw/misc/Kconfig: Remove redundant USB_EHCI_SYSBUS from config IMX Bernhard Beschow
2026-09-21 21:46 ` [PATCH 20/42] Kconfig: Extract config IMX_AVIC " Bernhard Beschow
2026-09-29 12:19 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 21/42] Kconfig: Extract config IMX_GPCV2 " Bernhard Beschow
2026-09-29 12:19 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 22/42] Kconfig: Extract config IMX_RNG " Bernhard Beschow
2026-09-29 12:20 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 23/42] Kconfig: Extract config FSL_IMX7_GPR " Bernhard Beschow
2026-09-29 12:23 ` Philippe Mathieu-Daudé
2026-09-21 21:46 ` [PATCH 24/42] Kconfig: Extract config FSL_IMX{6, 7}_SRC " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 25/42] Kconfig: Extract config FSL_IMX7_SNVS " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 26/42] Kconfig: Extract dedicated config FSL_IMXx_CCM " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 27/42] Kconfig: Extract config IMX_GPT " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 28/42] Kconfig: Extract config IMX_EPIT " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 29/42] Kconfig: Extract config GPIO_IMX " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 30/42] Kconfig: Extract config IMX_SPI " Bernhard Beschow
2026-09-21 21:46 ` [PATCH 31/42] Kconfig: Extract config IMX_SERIAL " Bernhard Beschow
2026-09-21 21:47 ` [PATCH 32/42] Kconfig: Remove " Bernhard Beschow
2026-09-21 21:47 ` [PATCH 33/42] hw/vmapple/Kconfig: Remove unused GPIO_PWR dependency Bernhard Beschow
2026-09-29 12:25 ` Philippe Mathieu-Daudé
2026-09-21 21:47 ` [PATCH 34/42] hw/arm/fsl-imx8m: Fix typo Bernhard Beschow
2026-09-21 21:47 ` [PATCH 35/42] hw/misc/imx6_src: Avoid casting from void * Bernhard Beschow
2026-09-29 12:25 ` Philippe Mathieu-Daudé
2026-09-21 21:47 ` [PATCH 36/42] hw/char/imx_serial: " Bernhard Beschow
2026-09-29 12:26 ` Philippe Mathieu-Daudé
2026-09-21 21:47 ` [PATCH 37/42] hw/intc/imx_avic: " Bernhard Beschow
2026-09-21 21:47 ` [PATCH 38/42] hw/misc/imx*_ccm: " Bernhard Beschow
2026-09-21 21:47 ` [PATCH 39/42] hw/usb/imx-usb-phy: " Bernhard Beschow
2026-09-21 21:47 ` [PATCH 40/42] hw/net/imx_fec: Trace with QOM path where easily possible Bernhard Beschow
2026-09-29 12:27 ` Philippe Mathieu-Daudé
2026-09-21 21:47 ` [PATCH 41/42] hw/net/lan9118_phy: Trace with QOM path Bernhard Beschow
2026-09-21 21:47 ` [PATCH 42/42] hw/watchdog/wdt_imx2: " Bernhard Beschow
2026-09-29 12:39 ` [PATCH 00/42] i.MX fixes and cleanup Philippe Mathieu-Daudé
2026-09-29 12:54 ` Peter Maydell
2026-10-04 12:30 ` Bernhard Beschow
2026-10-05 14:35 ` SysBus reset and heterogeneous emulation Philippe Mathieu-Daudé
2026-10-05 15:05 ` 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=20260921214710.29422-1-shentey@gmail.com \
--to=shentey@gmail.com \
--cc=agraf@csgraf.de \
--cc=alistair@alistair23.me \
--cc=gaurav.sharma_7@nxp.com \
--cc=jasowangio@gmail.com \
--cc=jcd@tribudubois.net \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=phil@philjordan.eu \
--cc=pierrick.bouvier@oss.qualcomm.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.