qemu-e2k/hw/s390x
David Hildenbrand f6102c329c s390/sclp: rework sclp event facility initialization + device realization
The current code only works by chance. The event facility is a sysbus
device, but specifies in its class structure as parent the DeviceClass
(instead of a device class).

The init function in return lies therefore at the same position as
the init function of SysBusDeviceClass and gets triggered instead -
a very bad idea of doing that (e.g. the parameter types don't match).

Let's bring the initialization code up to date, initializing the event
facility + child events in .instance_init and moving the realization of
the child events out of the init call, into the realization step.

Device realization is now automatically performed when the event facility
itself is realized. That realization implicitly triggers realization of
the child bus, which in turn initializes the events.

Please note that we have to manually propagate the realization of the bus
children, common code still has a TODO set for that task.

Reviewed-by: Matthew Rosato <mjrosato@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2015-09-07 16:10:43 +02:00
..
Makefile.objs s390x: Create QOM device for s390 storage keys 2015-09-03 12:17:54 +02:00
css.c s390x/css: start with cleared cstat/dstat 2015-09-07 16:10:43 +02:00
css.h s390x/css: Add a callback for when subchannel gets disabled 2015-06-30 09:34:58 +02:00
event-facility.c s390/sclp: rework sclp event facility initialization + device realization 2015-09-07 16:10:43 +02:00
ipl.c s390x/ipl: Fix boot if no bootindex was specified 2015-07-02 15:35:33 +02:00
ipl.h s390x/ipl: drop reipl parameters on resets 2015-02-13 16:14:09 +01:00
s390-pci-bus.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
s390-pci-bus.h s390: Add PCI bus support 2015-01-12 10:14:04 +01:00
s390-pci-inst.c s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl 2015-04-30 13:21:42 +02:00
s390-pci-inst.h s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl 2015-04-30 13:21:42 +02:00
s390-skeys-kvm.c s390x: Create QOM device for s390 storage keys 2015-09-03 12:17:54 +02:00
s390-skeys.c s390x: Disable storage key migration on old machine type 2015-09-03 12:17:54 +02:00
s390-virtio-bus.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
s390-virtio-bus.h virtio: move host_features 2015-05-31 16:27:18 +02:00
s390-virtio-ccw.c s390x: Disable storage key migration on old machine type 2015-09-03 12:17:54 +02:00
s390-virtio-hcall.c s390x/virtio-hcall: Specification exception for illegal subcodes 2014-02-27 09:51:25 +01:00
s390-virtio.c s390x: Enable new s390-storage-keys device 2015-09-03 12:17:54 +02:00
s390-virtio.h s390x: Enable new s390-storage-keys device 2015-09-03 12:17:54 +02:00
sclp.c sclp: sort into categories 2015-04-30 13:21:41 +02:00
sclpcpu.c sclp/s390: rework sclp cpu hotplug device notification 2015-09-07 16:10:43 +02:00
sclpquiesce.c sclp: sort into categories 2015-04-30 13:21:41 +02:00
virtio-ccw.c s390/virtio-ccw: Fix migration 2015-07-14 19:10:03 +02:00
virtio-ccw.h s390x/virtio-ccw: add virtio set-revision call 2015-07-02 15:35:15 +02:00