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(-)
>

Reply via email to