From nobody Fri May 10 02:06:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1669045954; cv=none; d=zohomail.com; s=zohoarc; b=PcOtikWIv4QTriq1rUSYwGFlkk6wT1Uh8COCQvoqgqaBzehvoqIMkSdAeDYDBZwh6Lksb8BAOwq0RXg8XM8Z4CcZ/MmMNr6xLCxrA+1J48c2FF8dbxgIA+2Ke5u3EkLZdGa+ZYl9g9kwj1KuRUMFTu/fV6iQBDy6lWytxeUN82c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1669045954; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GbXxy3/v2uvLVjEq5DdIOJGY/XwsjiRfYT55l8YARbY=; b=mMJttpc9m8Yo+ozhROT1CP1XWgaNL6IVcno/phAv5a1u28GkyEkN5But1MqYTVINYTwRSyYHEUaqzo/djslkBVrhpXYcE7wSQW44HUaGGRuyaFhLHmF46Z+LNQHPk4f7Pmud3EUAlC/ogvnKKVtsU+EnuboFU+049juDJZ1ikcc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1669045954204851.307305005502; Mon, 21 Nov 2022 07:52:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ox94a-0000pM-3r; Mon, 21 Nov 2022 10:51:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox948-0000Nj-PK for qemu-devel@nongnu.org; Mon, 21 Nov 2022 10:50:45 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox946-0002XQ-T4 for qemu-devel@nongnu.org; Mon, 21 Nov 2022 10:50:36 -0500 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-212-HnSbID_uOkG324nXfoEQJg-1; Mon, 21 Nov 2022 10:50:30 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BB1743C106B6; Mon, 21 Nov 2022 15:50:29 +0000 (UTC) Received: from localhost (unknown [10.39.195.179]) by smtp.corp.redhat.com (Postfix) with ESMTP id DF23B111E412; Mon, 21 Nov 2022 15:50:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669045834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GbXxy3/v2uvLVjEq5DdIOJGY/XwsjiRfYT55l8YARbY=; b=hiGhowd4f/n8dlYGvOtD3FsrCS1Uq6e/XeHlItBm7FpuNcyxuN0Uit01bhyP+mbg4tv/2v KasKW/pcd1kpyld451z7rw5oivlOU8XOYwDjRHOF0d5IHTg/1B7lBBIc0t09FYvF/c4Nec /tRGltdiDZEll/aR49Y5EzPivkygE3s= X-MC-Unique: HnSbID_uOkG324nXfoEQJg-1 From: Stefan Hajnoczi To: qemu-devel@nongnu.org Cc: Laurent Vivier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson , Hanna Reitz , qemu-block@nongnu.org, "Michael S. Tsirkin" , qemu-ppc@nongnu.org, Stefan Hajnoczi , Fam Zheng , Paolo Bonzini , Daniel Henrique Barboza , Greg Kurz , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Jason Wang , Amit Shah , Kevin Wolf , David Hildenbrand , Cornelia Huck Subject: [PATCH RESEND v3 1/2] virtio: document ->host_features usage in vdc->get_features() callback Date: Mon, 21 Nov 2022 10:50:19 -0500 Message-Id: <20221121155020.1915166-2-stefanha@redhat.com> In-Reply-To: <20221121155020.1915166-1-stefanha@redhat.com> References: <20221121155020.1915166-1-stefanha@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1669045954704100001 Content-Type: text/plain; charset="utf-8" Suggested-by: Cornelia Huck Signed-off-by: Stefan Hajnoczi Reviewed-by: Cornelia Huck --- include/hw/virtio/virtio.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index a973811cbf..b6e09c6d4b 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -138,9 +138,16 @@ struct VirtioDeviceClass { /* This is what a VirtioDevice must implement */ DeviceRealize realize; DeviceUnrealize unrealize; + + /* + * Called with vdev->host_features in requested_features. Returns devi= ce + * feature bits to be stored in vdev->host_features after factoring in + * device-specific feature bits. + */ uint64_t (*get_features)(VirtIODevice *vdev, uint64_t requested_features, Error **errp); + uint64_t (*bad_features)(VirtIODevice *vdev); void (*set_features)(VirtIODevice *vdev, uint64_t val); int (*validate_features)(VirtIODevice *vdev); --=20 2.38.1 From nobody Fri May 10 02:06:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1669045955; cv=none; d=zohomail.com; s=zohoarc; b=JVJ7eanKvVzRPvRO9RJ6qm9G2hzyo91tCp3l2F4U/q/LtcRlc8wln8wGxMNAyA1w2RQ+bBlTr7Rr/OINMKSckZhlbCYhutB0v5tGxi33jECEZAtKFe/Q0U11lvadjq2IgujHL/7zR2c1WdI1YEAygkGlIc2ea0LEweDgRFzmj84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1669045955; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=11mQA/05+pSppc252k7+Qv9UxlTrd3BcJ4pTHErcORk=; b=HZg+MmRLrg0Vz/bsE5GCfCakp0d6PHzqbC7med5GdjbcTaSbosTSluiuP1O2VQaSfm+KXGIBG9Ws6qeaKHw9sXtIJD1PrMxq6lcJAvLC07La9ttOMUiKhctfNl3DqyFMxibtcO+0uc1ZMu1hcs9jgzOnGTy3Z15nBAtGvHR+hwE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1669045955564247.23606854979516; Mon, 21 Nov 2022 07:52:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ox94Q-0000iP-AH; Mon, 21 Nov 2022 10:50:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox94C-0000OZ-G1 for qemu-devel@nongnu.org; Mon, 21 Nov 2022 10:50:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox94A-0002YF-TZ for qemu-devel@nongnu.org; Mon, 21 Nov 2022 10:50:40 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-554-jm0FEVSGMHuqajhBof-XWA-1; Mon, 21 Nov 2022 10:50:35 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8789F1991C58; Mon, 21 Nov 2022 15:50:34 +0000 (UTC) Received: from localhost (unknown [10.39.195.179]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA47740C83BB; Mon, 21 Nov 2022 15:50:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669045838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=11mQA/05+pSppc252k7+Qv9UxlTrd3BcJ4pTHErcORk=; b=Lt3grhdmFhB7vbCWWIDfanY+N5xS0vwtBZp3Vn51W9hYlHRUJw9KSdpindE9kwQ4BhvQRi YBdiY/e2IlGVAPeqA1204fzXBpu1bKHf46GF2sL06WNY6vvdL3axuGSrNb+yUCavXPAGBC WOGxUxjDXZDUJZCay5xBYAvXFfZhxGs= X-MC-Unique: jm0FEVSGMHuqajhBof-XWA-1 From: Stefan Hajnoczi To: qemu-devel@nongnu.org Cc: Laurent Vivier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson , Hanna Reitz , qemu-block@nongnu.org, "Michael S. Tsirkin" , qemu-ppc@nongnu.org, Stefan Hajnoczi , Fam Zheng , Paolo Bonzini , Daniel Henrique Barboza , Greg Kurz , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Jason Wang , Amit Shah , Kevin Wolf , David Hildenbrand , Cornelia Huck Subject: [PATCH RESEND v3 2/2] virtio: remove unnecessary host_features in ->get_features() Date: Mon, 21 Nov 2022 10:50:20 -0500 Message-Id: <20221121155020.1915166-3-stefanha@redhat.com> In-Reply-To: <20221121155020.1915166-1-stefanha@redhat.com> References: <20221121155020.1915166-1-stefanha@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1669045956630100007 Content-Type: text/plain; charset="utf-8" Since at least commit 6b8f1020540c27246277377aa2c3331ad2bfb160 ("virtio: move host_features") the ->get_features() function has been called with host_features as an argument. Some devices manually add host_features in ->get_features() although the features argument already contains host_features. Make all devices consistent by dropping the unnecessary code. Cc: Cornelia Huck Signed-off-by: Stefan Hajnoczi Reviewed-by: Cornelia Huck --- hw/block/virtio-blk.c | 3 --- hw/char/virtio-serial-bus.c | 1 - hw/net/virtio-net.c | 3 --- hw/scsi/vhost-scsi-common.c | 3 --- hw/scsi/virtio-scsi.c | 4 ---- hw/virtio/virtio-balloon.c | 2 -- 6 files changed, 16 deletions(-) diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index f717550fdc..a744012fec 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -983,9 +983,6 @@ static uint64_t virtio_blk_get_features(VirtIODevice *v= dev, uint64_t features, { VirtIOBlock *s =3D VIRTIO_BLK(vdev); =20 - /* Firstly sync all virtio-blk possible supported features */ - features |=3D s->host_features; - virtio_add_feature(&features, VIRTIO_BLK_F_SEG_MAX); virtio_add_feature(&features, VIRTIO_BLK_F_GEOMETRY); virtio_add_feature(&features, VIRTIO_BLK_F_TOPOLOGY); diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c index 7d4601cb5d..1414fb85ae 100644 --- a/hw/char/virtio-serial-bus.c +++ b/hw/char/virtio-serial-bus.c @@ -557,7 +557,6 @@ static uint64_t get_features(VirtIODevice *vdev, uint64= _t features, =20 vser =3D VIRTIO_SERIAL(vdev); =20 - features |=3D vser->host_features; if (vser->bus.max_nr_ports > 1) { virtio_add_feature(&features, VIRTIO_CONSOLE_F_MULTIPORT); } diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index aba12759d5..35b45eb6e3 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -777,9 +777,6 @@ static uint64_t virtio_net_get_features(VirtIODevice *v= dev, uint64_t features, VirtIONet *n =3D VIRTIO_NET(vdev); NetClientState *nc =3D qemu_get_queue(n->nic); =20 - /* Firstly sync all virtio-net possible supported features */ - features |=3D n->host_features; - virtio_add_feature(&features, VIRTIO_NET_F_MAC); =20 if (!peer_has_vnet_hdr(n)) { diff --git a/hw/scsi/vhost-scsi-common.c b/hw/scsi/vhost-scsi-common.c index 767f827e55..8b26f90aa1 100644 --- a/hw/scsi/vhost-scsi-common.c +++ b/hw/scsi/vhost-scsi-common.c @@ -124,9 +124,6 @@ uint64_t vhost_scsi_common_get_features(VirtIODevice *v= dev, uint64_t features, { VHostSCSICommon *vsc =3D VHOST_SCSI_COMMON(vdev); =20 - /* Turn on predefined features supported by this device */ - features |=3D vsc->host_features; - return vhost_get_features(&vsc->dev, vsc->feature_bits, features); } =20 diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 6f6e2e32ba..40e10322fb 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -817,10 +817,6 @@ static uint64_t virtio_scsi_get_features(VirtIODevice = *vdev, uint64_t requested_features, Error **errp) { - VirtIOSCSI *s =3D VIRTIO_SCSI(vdev); - - /* Firstly sync all virtio-scsi possible supported features */ - requested_features |=3D s->host_features; return requested_features; } =20 diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index 73ac5eb675..0e9ca71b15 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -796,8 +796,6 @@ static void virtio_balloon_set_config(VirtIODevice *vde= v, static uint64_t virtio_balloon_get_features(VirtIODevice *vdev, uint64_t f, Error **errp) { - VirtIOBalloon *dev =3D VIRTIO_BALLOON(vdev); - f |=3D dev->host_features; virtio_add_feature(&f, VIRTIO_BALLOON_F_STATS_VQ); =20 return f; --=20 2.38.1