[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 4/8] hw/timer/mc146818rtc: Fix introspection

From: Juan Quintela
Subject: Re: [Qemu-devel] [PATCH v2 4/8] hw/timer/mc146818rtc: Fix introspection problem
Date: Fri, 17 Aug 2018 12:29:16 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Thomas Huth <address@hidden> wrote:
> There is currently a funny problem with the "mc146818rtc" device:
> 1) Start QEMU like this:
>    qemu-system-ppc64 -M pseries -S
> 2) At the HMP monitor, enter "info qom-tree". Note that there is an
>    entry for "/rtc (spapr-rtc)".
> 3) Introspect the mc146818rtc device like this:
>    device_add mc146818rtc,help
> 4) Run "info qom-tree" again. The "/rtc" entry is gone now!
> The rtc_finalize() function of the mc146818rtc device has two bugs: First,
> it tries to remove a "rtc" property, while the rtc_realizefn() added a
> "rtc-time" property instead. And second, it should have been done in an
> unrealize function, not in a finalize function, to avoid that this causes
> problems during introspection.
> But since adding aliases to the global machine state should not be done
> from a device's realize function anyway, let's rather fix this issue
> by moving the creation of the alias to the code that creates the device
> (and thus is run from the machine init functions instead), i.e. the
> mc146818_rtc_init() function for most machines. The prep machines are
> special, since the mc146818rtc device is created here in the realize
> function of the i82378 device. Since we certainly don't want to add the
> alias there, we add it to some code that is called from the ibm_40p_init()
> machine init function instead.
> Since the alias is now only created during the machine init, we can remove
> the object_property_del() completely.
> Fixes: 654a36d857ff949e0d1989904b76f53fded9dc83
> Reviewed-by: Markus Armbruster <address@hidden>
> Signed-off-by: Thomas Huth <address@hidden>

Reviewed-by: Juan Quintela <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]