qemu/include/qom
Paolo Bonzini 220c739903 qom: reverse order of instance_post_init calls
Currently, the instance_post_init calls are performed from the leaf
class and all the way up to Object.  This is incorrect because the
leaf class cannot observe property values applied by the superclasses;
for example, a compat property will be set on a device *after*
the class's post_init callback has run.

In particular this makes it impossible for implementations of
accel_cpu_instance_init() to operate based on the actual values of
the properties, though it seems that cxl_dsp_instance_post_init and
rp_instance_post_init might have similar issues.

Follow instead the same order as instance_init, starting with Object
and running the child class's instance_post_init after the parent.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-20 08:18:53 +02:00
..
object.h qom: reverse order of instance_post_init calls 2025-05-20 08:18:53 +02:00
object_interfaces.h qom/object_interfaces: Clean up global variable shadowing 2023-10-06 13:27:48 +02:00
qom-qobject.h qom: Make functions taking Error ** return bool, not void 2020-07-10 15:18:08 +02:00