[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 03/10] s390x/sclp: add device to the sysbus in sclp_r
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 03/10] s390x/sclp: add device to the sysbus in sclp_realize |
Date: |
Thu, 28 Jan 2016 12:09:04 +0100 |
From: David Hildenbrand <address@hidden>
The init of a device should have no side effects. Therefore move
registering of the event facility into the realize function, so
multiple instances of the SCLP device can be created e.g. for
introspection.
Add some more detail as to why we have to add it to the sysbus
at all.
Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/sclp.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index 74f2b40..23dee88 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -465,6 +465,12 @@ static void sclp_realize(DeviceState *dev, Error **errp)
if (err) {
goto out;
}
+ /*
+ * qdev_device_add searches the sysbus for TYPE_SCLP_EVENTS_BUS. As long
+ * as we can't find a fitting bus via the qom tree, we have to add the
+ * event facility to the sysbus, so e.g. a sclp console can be created.
+ */
+ qdev_set_parent_bus(DEVICE(sclp->event_facility), sysbus_get_default());
ret = s390_set_memory_limit(machine->maxram_size, &hw_limit);
if (ret == -E2BIG) {
@@ -533,8 +539,6 @@ static void sclp_init(Object *obj)
new = object_new(TYPE_SCLP_EVENT_FACILITY);
object_property_add_child(obj, TYPE_SCLP_EVENT_FACILITY, new, NULL);
- /* qdev_device_add searches the sysbus for TYPE_SCLP_EVENTS_BUS */
- qdev_set_parent_bus(DEVICE(new), sysbus_get_default());
object_unref(new);
sclp->event_facility = EVENT_FACILITY(new);
--
2.7.0
- [Qemu-devel] [PULL 00/10] next round of s390x patches, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 02/10] s390x/machine: make addon register fields static, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 01/10] s390x/skeys: Fix instance and class size, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 03/10] s390x/sclp: add device to the sysbus in sclp_realize,
Cornelia Huck <=
- [Qemu-devel] [PULL 06/10] watchdog: introduction of get_watchdog_action, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 08/10] s390x/css: fix control flags during csch, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 09/10] gdb: provide the name of the architecture in the target.xml, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 05/10] s390x: fix generation of event information crw, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 10/10] s390x: s390_cpu_get_phys_page_debug has to return -1, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 07/10] watchdog/diag288: don't reset for action=none|debug|pause, Cornelia Huck, 2016/01/28
- [Qemu-devel] [PULL 04/10] s390x/ioinst: set type and len for SEI response, Cornelia Huck, 2016/01/28
- Re: [Qemu-devel] [PULL 00/10] next round of s390x patches, Peter Maydell, 2016/01/28