From nobody Mon Nov 17 15:45:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1604580251; cv=none; d=zohomail.com; s=zohoarc; b=gPkAntwRNq/xAWiJRG2iqo2OcKnAADRPmBfoam/5tSyqo3JA9NEDm1sAciFqBWmEa12hpa9GUm1YvYqrLeAh4WcHiMp5hNlqzfSu8gXH8kBfLpo0ZCh3WvDSpBLFW2HxGvHBwkPGrZ46RuIzK2rZP17ABL5eF/THCO9bhfvbVas= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604580251; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=qnXFKvPT1o0VTR2smUlGauG0ibfVMGznfVlfrMUGLE8=; b=VPxH09u5An4i45feFDFQElJJfY6TPQcM5fCWnA4lcT2Jq48VKiGVfkNcYQs/6dWmWXI+WgjE7fbcxhI2fe1VoXLLz81hbES7qSkSmzZ3He3kUKAQHXfVa7DorHmwv9tauw2hvgY1TwKbOp3u248FDEjSQk+Y9BqU6TZUbKnfTvQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1604580251482211.8947652606522; Thu, 5 Nov 2020 04:44:11 -0800 (PST) Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-351-zmLRZBVyNICxJoGP_A-o1g-1; Thu, 05 Nov 2020 07:44:09 -0500 Received: by mail-wr1-f72.google.com with SMTP id w3so658541wrt.11 for ; Thu, 05 Nov 2020 04:44:08 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (234.red-83-42-66.dynamicip.rima-tde.net. [83.42.66.234]) by smtp.gmail.com with ESMTPSA id o3sm2341584wru.15.2020.11.05.04.44.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Nov 2020 04:44:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604580250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qnXFKvPT1o0VTR2smUlGauG0ibfVMGznfVlfrMUGLE8=; b=KN87+4XUdzBxpZlEsBLYqQI/vr5QO6DrlXd83AUZP6ELUYZNGIQomt0jbULh5GiQT44m6m F2q98FXgK8N73lOPlBeWXtREiL1oD0qc64Y8VS60D4doLJKKNBPB20brbv5agZDUKjU0FR /dzvK8gBzQJVp3kVk1MLi0mzQUS1faA= X-MC-Unique: zmLRZBVyNICxJoGP_A-o1g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qnXFKvPT1o0VTR2smUlGauG0ibfVMGznfVlfrMUGLE8=; b=C8EjVVdMRCVy6UJk6XBb7dJ5rX45tkw59k9vsBN7D68DEW/Q14G/pYBUnnOrk/ijFi U018nEIcKeDUBRTmcCqUW9rl9PQkvKLj0/YmGG7me3UoCdJnYiu4I/zwLyFE6Du1Y7ki gI+g4DuIolCclGD3ImGe8eGrt1DdGC1GV91cBggvLM74W9RUNViTRrKRGZp4iT0MIvWs xye5/jnYwXh5BR+rIYQrcyAcDQWS7Hn9VW1ROwanGuP1Ngfx+T9LEOi7F1WMM089iywf eUTpXV30kOcx3Sh9X8OXHjCu++i8kjxtRDnkn9Q6nqm1s38G3XPJU2SH42EvJ1gRh+YD 8XcQ== X-Gm-Message-State: AOAM5328KeVOH6S6E2hQOsnpEvIDL4fffJ33l/eRX7V5MdN5XR3eTmFD +dOfwFOX/N588OSagMwbDHeWDq3VSn4JbPRUvboKPgSa3saTCPEp3B/lhr7Rl+ZdfN2q+Io3ziA oyPs1s46eiJ4bQg== X-Received: by 2002:a1c:c912:: with SMTP id f18mr2602440wmb.150.1604580247354; Thu, 05 Nov 2020 04:44:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJycMZGYAqkWvUm4ti0KNbj3uR1qWoZk8mAAoVfJIvz+XFcQUGZxVsgOrCv+hbJC5AhUxiCYWQ== X-Received: by 2002:a1c:c912:: with SMTP id f18mr2602420wmb.150.1604580247183; Thu, 05 Nov 2020 04:44:07 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Michael S. Tsirkin" , Elena Ufimtseva , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Christian Schoenebeck , Greg Kurz , Jagannathan Raman , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fam Zheng , qemu-block@nongnu.org, Max Reitz , Wainer dos Santos Moschetta , Stefan Hajnoczi , Thomas Huth , Jason Wang , Cornelia Huck , Paolo Bonzini , Kevin Wolf , Stefan Hajnoczi Subject: [PATCH-for-6.0 2/3] hw/virtio: Build most of virtio devices as arch-independent objects Date: Thu, 5 Nov 2020 13:43:52 +0100 Message-Id: <20201105124353.3680057-3-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201105124353.3680057-1-philmd@redhat.com> References: <20201105124353.3680057-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) VirtIO devices shouldn't be arch-specific. Some device have to use PAGE_SIZE definition or access to CPUState. Keep building them as arch-specific objects. Move all we can to libcommon.fa. Suggested-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Paolo Bonzini --- hw/9pfs/meson.build | 2 +- hw/block/dataplane/meson.build | 2 +- hw/block/meson.build | 2 +- hw/char/meson.build | 2 +- hw/net/meson.build | 2 +- hw/scsi/meson.build | 2 +- hw/virtio/meson.build | 15 +++++++++------ 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build index cc094262122..ac964be15ce 100644 --- a/hw/9pfs/meson.build +++ b/hw/9pfs/meson.build @@ -17,4 +17,4 @@ fs_ss.add(when: 'CONFIG_XEN', if_true: files('xen-9p-backend.c')) softmmu_ss.add_all(when: 'CONFIG_9PFS', if_true: fs_ss) =20 -specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device= .c')) +softmmu_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.= c')) diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build index 12c6a264f10..e2f3721ce24 100644 --- a/hw/block/dataplane/meson.build +++ b/hw/block/dataplane/meson.build @@ -1,2 +1,2 @@ -specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) +softmmu_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c')) diff --git a/hw/block/meson.build b/hw/block/meson.build index 602ca6c8541..497592c33ac 100644 --- a/hw/block/meson.build +++ b/hw/block/meson.build @@ -15,7 +15,7 @@ softmmu_ss.add(when: 'CONFIG_SH4', if_true: files('tc58128.c')) softmmu_ss.add(when: 'CONFIG_NVME_PCI', if_true: files('nvme.c', 'nvme-ns.= c')) =20 -specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) +softmmu_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) specific_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-= blk.c')) =20 subdir('dataplane') diff --git a/hw/char/meson.build b/hw/char/meson.build index 196ac91fa29..7496594ea07 100644 --- a/hw/char/meson.build +++ b/hw/char/meson.build @@ -37,5 +37,5 @@ =20 specific_ss.add(when: 'CONFIG_HTIF', if_true: files('riscv_htif.c')) specific_ss.add(when: 'CONFIG_TERMINAL3270', if_true: files('terminal3270.= c')) -specific_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-serial-bus.c= ')) +softmmu_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-serial-bus.c'= )) specific_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr_vty.c')) diff --git a/hw/net/meson.build b/hw/net/meson.build index 4a7051b54a0..c795af23eee 100644 --- a/hw/net/meson.build +++ b/hw/net/meson.build @@ -43,7 +43,7 @@ specific_ss.add(when: 'CONFIG_XILINX_ETHLITE', if_true: files('xilinx_ethl= ite.c')) =20 softmmu_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('net_rx_pkt.c')) -specific_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-net.c')) +softmmu_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-net.c')) =20 softmmu_ss.add(when: ['CONFIG_VIRTIO_NET', 'CONFIG_VHOST_NET'], if_true: f= iles('vhost_net.c'), if_false: files('vhost_net-stub.c')) softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('vhost_net-stub.c')) diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build index 923a34f344c..fdf27156f6a 100644 --- a/hw/scsi/meson.build +++ b/hw/scsi/meson.build @@ -19,7 +19,7 @@ virtio_scsi_ss.add(files('virtio-scsi.c', 'virtio-scsi-dataplane.c')) virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi-c= ommon.c', 'vhost-scsi.c')) virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-s= csi-common.c', 'vhost-user-scsi.c')) -specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: virtio_scsi_= ss) +softmmu_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: virtio_scsi_ss) =20 specific_scsi_ss.add(when: 'CONFIG_SPAPR_VSCSI', if_true: files('spapr_vsc= si.c')) =20 diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build index 95415913a9a..40df99f1a48 100644 --- a/hw/virtio/meson.build +++ b/hw/virtio/meson.build @@ -9,12 +9,15 @@ =20 softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-stub.c')) =20 +virtio_arch_ss =3D ss.source_set() +virtio_arch_ss.add(files('virtio.c')) +virtio_arch_ss.add(when: 'CONFIG_VIRTIO_LEGACY', if_true: files('virtio-le= gacy.c')) +virtio_arch_ss.add(when: 'CONFIG_VHOST_USER', if_true: files('vhost-user.c= ')) +virtio_arch_ss.add(when: 'CONFIG_VHOST_VDPA', if_true: files('vhost-vdpa.c= ')) +virtio_arch_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iom= mu.c')) + virtio_ss =3D ss.source_set() -virtio_ss.add(files('virtio.c')) -virtio_ss.add(when: 'CONFIG_VIRTIO_LEGACY', if_true: files('virtio-legacy.= c')) virtio_ss.add(when: 'CONFIG_VHOST', if_true: files('vhost.c', 'vhost-backe= nd.c')) -virtio_ss.add(when: 'CONFIG_VHOST_USER', if_true: files('vhost-user.c')) -virtio_ss.add(when: 'CONFIG_VHOST_VDPA', if_true: files('vhost-vdpa.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-balloo= n.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto.= c')) virtio_ss.add(when: ['CONFIG_VIRTIO_CRYPTO', 'CONFIG_VIRTIO_PCI'], if_true= : files('virtio-crypto-pci.c')) @@ -24,7 +27,6 @@ virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock.c', = 'vhost-vsock-common.c')) virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhost-user-= vsock.c', 'vhost-vsock-common.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng.c')) -virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c'= )) virtio_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-mem.c')) =20 virtio_pci_ss =3D ss.source_set() @@ -49,4 +51,5 @@ =20 virtio_ss.add_all(when: 'CONFIG_VIRTIO_PCI', if_true: virtio_pci_ss) =20 -specific_ss.add_all(when: 'CONFIG_VIRTIO', if_true: virtio_ss) +softmmu_ss.add_all(when: 'CONFIG_VIRTIO', if_true: virtio_ss) +specific_ss.add_all(when: 'CONFIG_VIRTIO', if_true: virtio_arch_ss) --=20 2.26.2