qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

s390x: express dependencies with Kconfig

Instead of hard-coding all config switches in the config file
default-configs/s390x-softmmu.mak, let's use the new Kconfig files
to express the necessary dependencies: The S390_CCW_VIRTIO config switch
for the "s390-ccw-virtio" machine now selects all non-optional devices.

And since we already have the VIRTIO_PCI and VIRTIO_MMIO config switches
for the other two virtio transports, this patch also introduces a new
config switch VIRTIO_CCW for the third, s390x-specific virtio transport,
so that all three virtio transports are now handled in the same way.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

authored by

Thomas Huth and committed by
Paolo Bonzini
9e5c2056 82a230d5

+28 -9
+12 -8
default-configs/s390x-softmmu.mak
··· 1 - CONFIG_PCI=y 2 - CONFIG_VIRTIO_PCI=y 3 - CONFIG_SCLPCONSOLE=y 4 - CONFIG_TERMINAL3270=y 5 - CONFIG_S390_FLIC=y 6 - CONFIG_WDT_DIAG288=y 1 + # Default configuration for s390x-softmmu 2 + 3 + # Uncomment the following lines to disable these optional devices: 4 + # 5 + #CONFIG_TERMINAL3270=n 6 + #CONFIG_VFIO_AP=n 7 + #CONFIG_VFIO_CCW=n 8 + #CONFIG_VIRTIO_PCI=n 9 + #CONFIG_WDT_DIAG288=n 10 + 11 + # Boards: 12 + # 7 13 CONFIG_S390_CCW_VIRTIO=y 8 - CONFIG_VFIO_CCW=y 9 - CONFIG_VFIO_AP=y
+9
hw/s390x/Kconfig
··· 1 1 config S390_CCW_VIRTIO 2 2 bool 3 + imply VIRTIO_PCI 4 + imply TERMINAL3270 5 + imply VFIO_AP 6 + imply VFIO_CCW 7 + imply WDT_DIAG288 8 + select PCI 9 + select S390_FLIC 10 + select SCLPCONSOLE 11 + select VIRTIO_CCW
+3 -1
hw/s390x/Makefile.objs
··· 6 6 obj-y += ipl.o 7 7 obj-y += css.o 8 8 obj-$(CONFIG_S390_CCW_VIRTIO) += s390-virtio-ccw.o 9 - obj-y += 3270-ccw.o 9 + obj-$(CONFIG_TERMINAL3270) += 3270-ccw.o 10 + ifeq ($(CONFIG_VIRTIO_CCW),y) 10 11 obj-y += virtio-ccw.o 11 12 obj-$(CONFIG_VIRTIO_SERIAL) += virtio-ccw-serial.o 12 13 obj-$(CONFIG_VIRTIO_BALLOON) += virtio-ccw-balloon.o ··· 19 20 obj-$(CONFIG_VIRTIO_BLK) += virtio-ccw-blk.o 20 21 obj-$(call land,$(CONFIG_VIRTIO_9P),$(CONFIG_VIRTFS)) += virtio-ccw-9p.o 21 22 obj-$(CONFIG_VHOST_VSOCK) += vhost-vsock-ccw.o 23 + endif 22 24 obj-y += css-bridge.o 23 25 obj-y += ccw-device.o 24 26 obj-y += s390-pci-bus.o s390-pci-inst.o
+4
hw/virtio/Kconfig
··· 16 16 bool 17 17 select VIRTIO 18 18 19 + config VIRTIO_CCW 20 + bool 21 + select VIRTIO 22 + 19 23 config VIRTIO_BALLOON 20 24 bool 21 25 default y