From nobody Fri May 3 19:13:52 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1527018764971237.21269654899208; Tue, 22 May 2018 12:52:44 -0700 (PDT) Received: from localhost ([::1]:57628 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLDKp-0004Mg-5O for importer@patchew.org; Tue, 22 May 2018 15:52:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLDJ3-0003UZ-36 for qemu-devel@nongnu.org; Tue, 22 May 2018 15:50:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fLDIz-0001Re-4q for qemu-devel@nongnu.org; Tue, 22 May 2018 15:50:49 -0400 Received: from mail-pl0-x242.google.com ([2607:f8b0:400e:c01::242]:46477) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fLDIy-0001RS-MK for qemu-devel@nongnu.org; Tue, 22 May 2018 15:50:44 -0400 Received: by mail-pl0-x242.google.com with SMTP id 30-v6so11506499pld.13 for ; Tue, 22 May 2018 12:50:44 -0700 (PDT) Received: from donizetti.event.priv ([72.28.93.232]) by smtp.gmail.com with ESMTPSA id z83-v6sm33484140pfd.103.2018.05.22.12.50.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 22 May 2018 12:50:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=aLdREh8Jc5P+2NKTTZa5qpLOaCK3Rx0fixXkhrRvU1Y=; b=tQ40NGuV6VmhyUALBcgCkkESHfiEyw7x+TCmE9Su/t/dM8+F2GVh7dMbvfZwU4eQ52 wePi697C2I3irHJ7682FTtR5ebv2yc1rkpcGddLGqcfx9425zh4ycQb/kYuOzRkRL7jp vNGzqTcwxN9vOFZLpeJQ+dO04YWhTkH5YGZdSRoKtqqciMyCz2x0vutu2nxKvgp13aZI wYmD+4PzeZkDE0CAwRafqQJ6V+9rghwZZwvMYsj1OJcnnsWPYNOwOcKjiWI14gNelS+1 8u2oy4U4t6Uvxlp0xNT0lxuf5MSNVTLM+UCJ9NI3099LWBhjVia6t1zkDwjVbCkJ1lbI aMSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=aLdREh8Jc5P+2NKTTZa5qpLOaCK3Rx0fixXkhrRvU1Y=; b=UofVtk2Houx2fZ2irlFZWiBnPgIud4I6gqYfpR0U/D9h12lRTFzD8Ut83k0HkmLk8T 1pi9ZgN10s8JTjlBsXx9Z6gkjbyFQv/6nwbR+Zm9qgdpka/35SEe4cNKdkQQGGe7lGwg myTS67MDIEjNJv9R+XK/ODpK5YrcDsB2T8zSllldokwcNpFFIN+E/leE0OZyYqTHDtil cu08Pt9SIzsbl3OfbD4nAakI5lqUK5N7Pq/evuIe3KcuBPCXkZp3Eo70dQ7tKw2MRLX7 dQYXTHLRAl21Uu0ZMg8U9yEmRapWXY+pL2GyB7mFH/LM95UsnBa6rcJA9QTN9GyLzIkw Hhqg== X-Gm-Message-State: ALKqPwffQd8/3JBCd/VecaeB2TNZoyzKvLp/fuJdozZN4H8Led65NdRf Z3KJVmSCpicgYtE3/lX/ynKCruE6 X-Google-Smtp-Source: AB8JxZqvvbqzmwqoW6GT1CcbIdu6Rd99EZH+uxxv4/3HqZ/KNtFCKR7/eNBruRrYq9Ew2j8mfc19cA== X-Received: by 2002:a17:902:5409:: with SMTP id d9-v6mr17934111pli.1.1527018643393; Tue, 22 May 2018 12:50:43 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 22 May 2018 21:50:38 +0200 Message-Id: <20180522195038.25280-1-pbonzini@redhat.com> X-Mailer: git-send-email 2.17.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c01::242 Subject: [Qemu-devel] [PATCH RFC] hw: make virtio devices configurable via default-configs/ X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: thuth@redhat.com, ehabkost@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This is only half of the work, because the proxy devices (virtio-*-pci, virtio-*-ccw, etc.) are still included unconditionally. It is still a move in the right direction. Based-on: <20180522194943.24871-1-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini Reviewed-by: Stefan Hajnoczi Reviewed-by: Thomas Huth --- default-configs/arm-softmmu.mak | 1 + default-configs/hppa-softmmu.mak | 2 -- default-configs/pci.mak | 4 +--- default-configs/riscv32-softmmu.mak | 4 ++-- default-configs/riscv64-softmmu.mak | 4 ++-- default-configs/s390x-softmmu.mak | 5 +---- default-configs/virtio.mak | 14 ++++++++++++++ hw/9pfs/Makefile.objs | 6 ++++-- hw/block/Makefile.objs | 6 ++---- hw/char/Makefile.objs | 2 +- hw/display/Makefile.objs | 4 ++-- hw/input/Makefile.objs | 6 +++--- hw/net/Makefile.objs | 2 +- hw/scsi/Makefile.objs | 2 +- hw/virtio/Makefile.objs | 16 +++++++++------- 15 files changed, 44 insertions(+), 34 deletions(-) create mode 100644 default-configs/virtio.mak diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.= mak index dd29e741c2..8ba2558b36 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -41,6 +41,7 @@ CONFIG_USB=3Dy CONFIG_USB_MUSB=3Dy CONFIG_USB_EHCI_SYSBUS=3Dy CONFIG_PLATFORM_BUS=3Dy +CONFIG_VIRTIO_MMIO=3Dy =20 CONFIG_ARM11MPCORE=3Dy CONFIG_A9MPCORE=3Dy diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmm= u.mak index 013e5f046f..4badc0521e 100644 --- a/default-configs/hppa-softmmu.mak +++ b/default-configs/hppa-softmmu.mak @@ -4,8 +4,6 @@ CONFIG_SERIAL=3Dy CONFIG_SERIAL_ISA=3Dy CONFIG_ISA_BUS=3Dy CONFIG_I8259=3Dy -CONFIG_VIRTIO_PCI=3D$(CONFIG_PCI) -CONFIG_VIRTIO=3Dy CONFIG_E1000_PCI=3Dy CONFIG_IDE_ISA=3Dy CONFIG_IDE_CMD646=3Dy diff --git a/default-configs/pci.mak b/default-configs/pci.mak index 163dd814c7..de53d20ac6 100644 --- a/default-configs/pci.mak +++ b/default-configs/pci.mak @@ -2,7 +2,7 @@ CONFIG_PCI=3Dy # For now, CONFIG_IDE_CORE requires ISA, so we enable it here CONFIG_ISA_BUS=3Dy CONFIG_VIRTIO_PCI=3Dy -CONFIG_VIRTIO=3Dy +include virtio.mak CONFIG_USB_UHCI=3Dy CONFIG_USB_OHCI=3Dy CONFIG_USB_EHCI=3Dy @@ -46,5 +46,3 @@ CONFIG_VGA=3Dy CONFIG_VGA_PCI=3Dy CONFIG_IVSHMEM_DEVICE=3D$(CONFIG_IVSHMEM) CONFIG_ROCKER=3Dy -CONFIG_VHOST_USER_SCSI=3D$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX)) -CONFIG_VHOST_USER_BLK=3D$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX)) diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-= softmmu.mak index 9159a4a8af..20e670d99c 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -1,5 +1,5 @@ # Default configuration for riscv-softmmu =20 CONFIG_SERIAL=3Dy -CONFIG_VIRTIO=3Dy -CONFIG_SCSI=3Dy +CONFIG_VIRTIO_MMIO=3Dy +include virtio.mak diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-= softmmu.mak index 9159a4a8af..20e670d99c 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -1,5 +1,5 @@ # Default configuration for riscv-softmmu =20 CONFIG_SERIAL=3Dy -CONFIG_VIRTIO=3Dy -CONFIG_SCSI=3Dy +CONFIG_VIRTIO_MMIO=3Dy +include virtio.mak diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-soft= mmu.mak index 729033b25a..d6b67d50f0 100644 --- a/default-configs/s390x-softmmu.mak +++ b/default-configs/s390x-softmmu.mak @@ -1,9 +1,6 @@ CONFIG_PCI=3Dy CONFIG_VIRTIO_PCI=3D$(CONFIG_PCI) -CONFIG_VHOST_USER_SCSI=3D$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX)) -CONFIG_VHOST_USER_BLK=3D$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX)) -CONFIG_SCSI=3Dy -CONFIG_VIRTIO=3Dy +include virtio.mak CONFIG_SCLPCONSOLE=3Dy CONFIG_TERMINAL3270=3Dy CONFIG_S390_FLIC=3Dy diff --git a/default-configs/virtio.mak b/default-configs/virtio.mak new file mode 100644 index 0000000000..1304849018 --- /dev/null +++ b/default-configs/virtio.mak @@ -0,0 +1,14 @@ +CONFIG_VHOST_USER_SCSI=3D$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX)) +CONFIG_VHOST_USER_BLK=3D$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX)) +CONFIG_VIRTIO=3Dy +CONFIG_VIRTIO_9P=3Dy +CONFIG_VIRTIO_BALLOON=3Dy +CONFIG_VIRTIO_BLK=3Dy +CONFIG_VIRTIO_CRYPTO=3Dy +CONFIG_VIRTIO_GPU=3Dy +CONFIG_VIRTIO_INPUT=3Dy +CONFIG_VIRTIO_NET=3Dy +CONFIG_VIRTIO_RNG=3Dy +CONFIG_SCSI=3Dy +CONFIG_VIRTIO_SCSI=3Dy +CONFIG_VIRTIO_SERIAL=3Dy diff --git a/hw/9pfs/Makefile.objs b/hw/9pfs/Makefile.objs index fd90b62900..e3fa673665 100644 --- a/hw/9pfs/Makefile.objs +++ b/hw/9pfs/Makefile.objs @@ -1,3 +1,4 @@ +ifeq ($(call lor,$(CONFIG_VIRTIO_9P),$(CONFIG_XEN)),y) common-obj-y =3D 9p.o 9p-util.o common-obj-y +=3D 9p-local.o 9p-xattr.o common-obj-y +=3D 9p-xattr-user.o 9p-posix-acl.o @@ -5,6 +6,7 @@ common-obj-y +=3D coth.o cofs.o codir.o cofile.o common-obj-y +=3D coxattr.o 9p-synth.o common-obj-$(CONFIG_OPEN_BY_HANDLE) +=3D 9p-handle.o common-obj-y +=3D 9p-proxy.o -common-obj-$(CONFIG_XEN) +=3D xen-9p-backend.o +endif =20 -obj-$(CONFIG_VIRTIO) +=3D virtio-9p-device.o +common-obj-$(CONFIG_XEN) +=3D xen-9p-backend.o +obj-$(CONFIG_VIRTIO_9P) +=3D virtio-9p-device.o diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs index 4c19a583c8..53ce5751ae 100644 --- a/hw/block/Makefile.objs +++ b/hw/block/Makefile.objs @@ -11,8 +11,6 @@ common-obj-$(CONFIG_NVME_PCI) +=3D nvme.o =20 obj-$(CONFIG_SH4) +=3D tc58128.o =20 -obj-$(CONFIG_VIRTIO) +=3D virtio-blk.o -obj-$(CONFIG_VIRTIO) +=3D dataplane/ -ifeq ($(CONFIG_VIRTIO),y) +obj-$(CONFIG_VIRTIO_BLK) +=3D virtio-blk.o +obj-$(CONFIG_VIRTIO_BLK) +=3D dataplane/ obj-$(CONFIG_VHOST_USER_BLK) +=3D vhost-user-blk.o -endif diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs index 1b979100b7..b570531291 100644 --- a/hw/char/Makefile.objs +++ b/hw/char/Makefile.objs @@ -6,7 +6,7 @@ common-obj-$(CONFIG_PL011) +=3D pl011.o common-obj-$(CONFIG_SERIAL) +=3D serial.o common-obj-$(CONFIG_SERIAL_ISA) +=3D serial-isa.o common-obj-$(CONFIG_SERIAL_PCI) +=3D serial-pci.o -common-obj-$(CONFIG_VIRTIO) +=3D virtio-console.o +common-obj-$(CONFIG_VIRTIO_SERIAL) +=3D virtio-console.o common-obj-$(CONFIG_XILINX) +=3D xilinx_uartlite.o common-obj-$(CONFIG_XEN) +=3D xen_console.o common-obj-$(CONFIG_CADENCE) +=3D cadence_uart.o diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs index 11321e466b..ee087490ff 100644 --- a/hw/display/Makefile.objs +++ b/hw/display/Makefile.objs @@ -35,8 +35,8 @@ obj-$(CONFIG_VGA) +=3D vga.o =20 common-obj-$(CONFIG_QXL) +=3D qxl.o qxl-logger.o qxl-render.o =20 -obj-$(CONFIG_VIRTIO) +=3D virtio-gpu.o virtio-gpu-3d.o -obj-$(CONFIG_VIRTIO_PCI) +=3D virtio-gpu-pci.o +obj-$(CONFIG_VIRTIO_GPU) +=3D virtio-gpu.o virtio-gpu-3d.o +obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) +=3D virtio-gpu= -pci.o obj-$(CONFIG_VIRTIO_VGA) +=3D virtio-vga.o virtio-gpu.o-cflags :=3D $(VIRGL_CFLAGS) virtio-gpu.o-libs +=3D $(VIRGL_LIBS) diff --git a/hw/input/Makefile.objs b/hw/input/Makefile.objs index 77e53e6883..c8b00f71ec 100644 --- a/hw/input/Makefile.objs +++ b/hw/input/Makefile.objs @@ -7,10 +7,10 @@ common-obj-y +=3D ps2.o common-obj-$(CONFIG_STELLARIS_INPUT) +=3D stellaris_input.o common-obj-$(CONFIG_TSC2005) +=3D tsc2005.o =20 -common-obj-$(CONFIG_VIRTIO) +=3D virtio-input.o -common-obj-$(CONFIG_VIRTIO) +=3D virtio-input-hid.o +common-obj-$(CONFIG_VIRTIO_INPUT) +=3D virtio-input.o +common-obj-$(CONFIG_VIRTIO_INPUT) +=3D virtio-input-hid.o ifeq ($(CONFIG_LINUX),y) -common-obj-$(CONFIG_VIRTIO) +=3D virtio-input-host.o +common-obj-$(CONFIG_VIRTIO_INPUT) +=3D virtio-input-host.o endif =20 obj-$(CONFIG_MILKYMIST) +=3D milkymist-softusb.o diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs index ab22968641..fa461d4463 100644 --- a/hw/net/Makefile.objs +++ b/hw/net/Makefile.objs @@ -36,7 +36,7 @@ obj-$(CONFIG_MILKYMIST) +=3D milkymist-minimac2.o obj-$(CONFIG_PSERIES) +=3D spapr_llan.o obj-$(CONFIG_XILINX_ETHLITE) +=3D xilinx_ethlite.o =20 -obj-$(CONFIG_VIRTIO) +=3D virtio-net.o +obj-$(CONFIG_VIRTIO_NET) +=3D virtio-net.o obj-y +=3D vhost_net.o =20 obj-$(CONFIG_ETSEC) +=3D fsl_etsec/etsec.o fsl_etsec/registers.o \ diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs index b188f7242b..718b4c2a68 100644 --- a/hw/scsi/Makefile.objs +++ b/hw/scsi/Makefile.objs @@ -8,7 +8,7 @@ common-obj-$(CONFIG_ESP) +=3D esp.o common-obj-$(CONFIG_ESP_PCI) +=3D esp-pci.o obj-$(CONFIG_PSERIES) +=3D spapr_vscsi.o =20 -ifeq ($(CONFIG_VIRTIO),y) +ifeq ($(CONFIG_VIRTIO_SCSI),y) obj-y +=3D virtio-scsi.o virtio-scsi-dataplane.o obj-$(CONFIG_VHOST_SCSI) +=3D vhost-scsi-common.o vhost-scsi.o obj-$(CONFIG_VHOST_USER_SCSI) +=3D vhost-scsi-common.o vhost-user-scsi.o diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs index 765d363c1f..1b2799cfd8 100644 --- a/hw/virtio/Makefile.objs +++ b/hw/virtio/Makefile.objs @@ -1,15 +1,17 @@ ifeq ($(CONFIG_VIRTIO),y) -common-obj-y +=3D virtio-rng.o -common-obj-$(CONFIG_VIRTIO_PCI) +=3D virtio-pci.o common-obj-y +=3D virtio-bus.o -common-obj-y +=3D virtio-mmio.o +obj-y +=3D virtio.o + +common-obj-$(CONFIG_VIRTIO_RNG) +=3D virtio-rng.o +common-obj-$(CONFIG_VIRTIO_PCI) +=3D virtio-pci.o +common-obj-$(CONFIG_VIRTIO_MMIO) +=3D virtio-mmio.o +obj-$(CONFIG_VIRTIO_BALLOON) +=3D virtio-balloon.o +obj-$(CONFIG_VIRTIO_CRYPTO) +=3D virtio-crypto.o +obj-$(call land,$(CONFIG_VIRTIO_CRYPTO),$(CONFIG_VIRTIO_PCI)) +=3D virtio-= crypto-pci.o =20 -obj-y +=3D virtio.o virtio-balloon.o=20 obj-$(CONFIG_LINUX) +=3D vhost.o vhost-backend.o vhost-user.o obj-$(CONFIG_VHOST_VSOCK) +=3D vhost-vsock.o -obj-y +=3D virtio-crypto.o -obj-$(CONFIG_VIRTIO_PCI) +=3D virtio-crypto-pci.o endif =20 -common-obj-$(call lnot,$(CONFIG_LINUX)) +=3D vhost-stub.o +common-obj-$(call lnot,$(call land,$(CONFIG_VIRTIO),$(CONFIG_LINUX))) +=3D= vhost-stub.o common-obj-$(CONFIG_ALL) +=3D vhost-stub.o --=20 2.17.0