qemu-e2k/hw/timer
Thomas Huth 29551fdcf4 hw/timer/mc146818rtc: Fix introspection problem
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: 654a36d857
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1534419358-10932-5-git-send-email-thuth@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-08-23 13:32:50 +02:00
..
a9gtimer.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
allwinner-a10-pit.c
altera_timer.c
arm_mptimer.c
arm_timer.c
armv7m_systick.c
aspeed_timer.c aspeed/timer: use the APB frequency from the SCU 2018-06-26 17:50:42 +01:00
cadence_ttc.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
cmsdk-apb-timer.c hw/timer/cmsdk-apb-timer: run or stop timer on writes to RELOAD and VALUE 2018-07-09 14:51:34 +01:00
digic-timer.c hw/digic: Add trailing '\n' to qemu_log() calls 2018-06-08 13:15:33 +01:00
ds1338.c
etraxfs_timer.c
exynos4210_mct.c
exynos4210_pwm.c
exynos4210_rtc.c
grlib_gptimer.c
hpet.c hpet: recover timer offset correctly 2018-01-12 13:22:02 +01:00
i8254_common.c hw/timer/i8254: rename pit_init() -> i8254_pit_init() 2017-12-18 17:07:02 +03:00
i8254.c qdev: use device_class_set_parent_realize/unrealize/reset() 2018-02-05 13:54:38 +01:00
imx_epit.c
imx_gpt.c i.MX: Add i.MX7 GPT variant 2018-02-09 10:40:30 +00:00
lm32_timer.c
m41t80.c hw/timer: Add basic M41T80 emulation 2018-07-03 09:56:52 +10:00
m48t59-internal.h hw/timer/mt48t59: Fix bit-rotten NVRAM_PRINTF format strings 2018-05-20 08:50:16 +03:00
m48t59-isa.c
m48t59.c hw/timer/m48t59: Move away from old_mmio accessors 2018-08-20 11:24:33 +01:00
Makefile.objs hw/timer: Add basic M41T80 emulation 2018-07-03 09:56:52 +10:00
mc146818rtc.c hw/timer/mc146818rtc: Fix introspection problem 2018-08-23 13:32:50 +02:00
milkymist-sysctl.c
mips_gictimer.c
mss-timer.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
omap_gptimer.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
omap_synctimer.c
pl031.c migration: pre_save return int 2017-09-27 11:35:59 +01:00
puv3_ost.c
pxa2xx_timer.c hw/timer/pxa2xx_timer: replace hw_error() -> qemu_log_mask() 2018-01-11 13:25:38 +00:00
sh_timer.c fix "Missing break in switch" coverity reports 2018-08-23 13:32:50 +02:00
slavio_timer.c sun4m: remove include/hw/sparc/sun4m.h and all references to it 2018-01-09 21:48:20 +00:00
stm32f2xx_timer.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
sun4v-rtc.c
trace-events xlnx-zynqmp-rtc: Add basic time support 2018-03-02 10:45:34 +00:00
twl92230.c hw/i2c: Use DeviceClass::realize instead of I2CSlaveClass::init 2018-06-01 15:14:31 +02:00
xilinx_timer.c
xlnx-zynqmp-rtc.c xlnx-zynqmp-rtc: Add basic time support 2018-03-02 10:45:34 +00:00