Introduce a symbol which can be used to prevent ccw modules being loaded into system emulators without ccw support.
Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- hw/s390x/virtio-ccw.h | 5 +++++ hw/s390x/virtio-ccw.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h index 49a2b8ca42df..0168232e3b8d 100644 --- a/hw/s390x/virtio-ccw.h +++ b/hw/s390x/virtio-ccw.h @@ -63,6 +63,11 @@ typedef struct VirtioBusClass VirtioCcwBusClass; DECLARE_OBJ_CHECKERS(VirtioCcwBusState, VirtioCcwBusClass, VIRTIO_CCW_BUS, TYPE_VIRTIO_CCW_BUS) +/* + * modules can reference this symbol to avoid being loaded + * into system emulators without ccw support + */ +extern bool have_virtio_ccw; struct VirtIOCCWDeviceClass { CCWDeviceClass parent_class; diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index 06c06056814b..314ed7b24566 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -35,6 +35,8 @@ #define NR_CLASSIC_INDICATOR_BITS 64 +bool have_virtio_ccw = true; + static int virtio_ccw_dev_post_load(void *opaque, int version_id) { VirtioCcwDevice *dev = VIRTIO_CCW_DEVICE(opaque); -- 2.30.2