hw/ppc/spapr_rtc: Mark the RTC device with user_creatable = false

QEMU currently aborts unexpectedly when a user tries to do something
like this:

$ qemu-system-ppc64 -nographic -S -nodefaults -monitor stdio
QEMU 2.9.92 monitor - type 'help' for more information
(qemu) device_add spapr-rtc,id=spapr-rtc
(qemu) device_del spapr-rtc
**
ERROR:qemu/qdev-monitor.c:872:qdev_unplug: assertion failed: (hotplug_ctrl)
Aborted (core dumped)

The RTC device is not meant to be hot-pluggable - it's an internal
device only and it even should not be possible to create it a
second time with the "-device" parameter, so let's mark this
with "user_creatable = false".

Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Thomas Huth 2017-08-17 07:15:10 +02:00 committed by David Gibson
parent 0479097859
commit 8ccccff9dd
1 changed files with 2 additions and 0 deletions

View File

@ -164,6 +164,8 @@ static void spapr_rtc_class_init(ObjectClass *oc, void *data)
dc->realize = spapr_rtc_realize;
dc->vmsd = &vmstate_spapr_rtc;
/* Reason: This is an internal device only for handling the hypercalls */
dc->user_creatable = false;
spapr_rtas_register(RTAS_GET_TIME_OF_DAY, "get-time-of-day",
rtas_get_time_of_day);