Am 8. März 2026 20:35:11 UTC schrieb Bernhard Beschow <[email protected]>:
+Markus
>This series contains some low-hanging fruit fixes I came up with when
>investigating Rust for QEMU, especially QOM object lifecycle vs. the Drop
>trait.
>
>I noticed that no finalize methods were called in Rust sysbus devices when QEMU
>quits, and neither are its C variants. What is probably missing in the first
>place is a
>
> object_unref(object_get_root());
>
>at the end of qemu_cleanup() in runstate.c (see TODO there). Adding it before
>this series won't clean up machines since their refcount won't reach zero. With
>this series applied this additional line will cause various issues when
>quitting
>QEMU, allowing the problem to be investigated. Fixing it is beyond the scope of
>this series (and my time budget).
>
>Testing done:
>* `make check`
>* Run imx8mp-evk with a Buildroot image
>
>Bernhard Beschow (5):
> hw/arm/fsl-imx8mp: Do not create redundant unimplemented devices
> hw/arm/fsl-imx8mp: Fix parent of ocram memory region
> hw/arm/imx8mp-evk: Fix reference count of SoC object
> system/vl: Fix reference count of machine object
> Revert "sysbus: add irq_routing_notifier"
>
> include/hw/core/sysbus.h | 1 -
> hw/arm/fsl-imx8mp.c | 3 ++-
> hw/arm/imx8mp-evk.c | 4 ++--
> hw/core/sysbus.c | 6 ------
> system/vl.c | 1 +
> 5 files changed, 5 insertions(+), 10 deletions(-)
>