qemu-e2k/hw/s390x
Heinz Graalfs 477a72a1ef s390x/event-facility: code restructure
Code restructure in order to simplify class hierarchy
  - remove S390SCLPDevice abstract base class
    and move function pointers into new SCLPEventFacilityClass
  - implement SCLPEventFacility as SysBusDevice
  - use define constants for instance creation strings

The following ascii-art shows the class structure wrt the SCLP EventFacility
before (CURRENT) and after the restructure (NEW):

----
CURRENT:

   "s390-sclp-events-bus"
   +-------------------------+
   |      SCLPEventsBus      |
   |-------------------------|
   |BusState qbus            |
   +-------------------------+

   +-------------------------+
   |   SCLPEventFacility     |  - to be replaced by new SCLPEventFacility,
   |-------------------------|    which will be a SysBusDevice
   |SCLPEventsBus sbus       |
   |DeviceState *qdev        |
   |unsigned int receive_mask|
   +-------------------------+

   +-------------------------+
   |   S390SCLPDeviceClass   |  - to be replaced by new SCLPEventFacilityClass
   |-------------------------|
   |DeviceClass qdev         |
   |*(init)()                |
   +-------------------------+

   "s390-sclp-event-facility"
             |
         instance-of
             |
             V
   "s390-sclp-device"           - this is an abstract class
   +-------------------------+
   |     S390SCLPDevice   (A)|  - to be replaced by new SCLPEventFacility
   |-------------------------|
   |SysBusDevice busdev      |
   |SCLPEventFacility *ef    |
   |                         |
   |*(sclp_command_handler)()|  - these 2 go to new SCLPEventFacilityClass
   |*(event_pending)()       |
   +-------------------------+

----
NEW:

   "s390-sclp-events-bus"
   +-------------------------+
   |      SCLPEventsBus      |
   |-------------------------|
   |BusState qbus            |
   +-------------------------+

   +-------------------------+
   | SCLPEventFacilityClass  |
   |-------------------------|
   |DeviceClass parent_class |
   |                         |
   |*(init)()                |
   |*(command_handler)()     |
   |*(event_pending)()       |
   +-------------------------+

   "s390-sclp-event-facility"
   +-------------------------+
   |   SCLPEventFacility     |
   |-------------------------|
   |SysBusDevice parent_class|
   |SCLPEventsBus sbus       |
   |unsigned int receive_mask|
   +-------------------------+

Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2014-02-27 09:51:25 +01:00
..
css.c exec: Make stw_*_phys input an AddressSpace 2014-02-11 22:57:32 +10:00
css.h virtio-ccw: Wire up ioeventfd. 2013-06-25 17:11:11 +02:00
event-facility.c s390x/event-facility: code restructure 2014-02-27 09:51:25 +01:00
ipl.c sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
Makefile.objs s390-sclp: SCLP Event integration 2014-01-21 16:48:39 +01:00
s390-virtio-bus.c exec: Make stb_phys input an AddressSpace 2014-02-11 22:57:38 +10:00
s390-virtio-bus.h
s390-virtio-ccw.c s390x/kvm: implement floating-interrupt controller device 2014-02-27 09:51:25 +01: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/kvm: implement floating-interrupt controller device 2014-02-27 09:51:25 +01:00
s390-virtio.h
sclp.c s390x/event-facility: code restructure 2014-02-27 09:51:25 +01:00
sclpcpu.c s390-sclp: SCLP Event integration 2014-01-21 16:48:39 +01:00
sclpquiesce.c s390/eventfacility: allow childs to handle more than 1 event type 2013-09-20 13:55:30 +02:00
virtio-ccw.c exec: Make stw_*_phys input an AddressSpace 2014-02-11 22:57:32 +10:00
virtio-ccw.h virtio-ccw: remove vdev field 2013-12-09 21:46:48 +01:00