From nobody Fri Mar 27 02:33:53 2026 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1772744155; cv=none; d=zohomail.com; s=zohoarc; b=CHUF6sbdboxtFJWtSul18gCwDELx3d1Tb0QOQoMDCpK7+q6lQQcFXJ3lRKA827TDYdC4WuHBnLVsJ4Zj3bAtydKCHWyEql2RAYHa2FMAQ5qeq+8pqTZoQsPd2BnTAV93thA+g18Z9ZvpU7747mpZ7sKEegSHkwMdwDvokyGjx1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772744155; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fjVg4k8L5YS0+fbIU3cK5+QxAukvdu0K3zvehSjPnuA=; b=lSNrZiOi/jK0fYtA30VY6/ScftL7VfrxcEEcRF8aNeKKE36ThX3ho8zbOjXYqCTKnSRvOzilXVhOH2GdCKnW327tsoUzIC60DX5+bn930bsNxvG1XxI4xjMwZ2vScVt9nFRq49A5+njpZeVAV+YTnuKpDfh0smZ4EdJArjoIyd4= 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 1772744155779892.5415156375913; Thu, 5 Mar 2026 12:55:55 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyFjV-0003Us-Cp; Thu, 05 Mar 2026 15:55:47 -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 1vyFjI-0003Oy-8x for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:32 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyFjE-0006ft-EA for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:30 -0500 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-827270d50d4so8878560b3a.3 for ; Thu, 05 Mar 2026 12:55:27 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e4fbbd4sm3847454b3a.53.2026.03.05.12.55.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 12:55:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772744127; x=1773348927; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fjVg4k8L5YS0+fbIU3cK5+QxAukvdu0K3zvehSjPnuA=; b=gQyRl7wkDZW27QxBw/tTfH5BXTwzGnmq3GABnSkVaJ6vQQXuKJubLcSdr5sPI9APFP O+VxOg7XRwrnGLOUj3/C//kYYUkLtqBCPphkL3JHGWNSPowIcQuvBc8COgLDjx+okPD1 OctUMkHE1BS6m+4UrhOyQsAMi19fwr+Oe/OxcKiywsbVVlzi4Y28AY70XDYbeAD+Buin 2W/pQUG114zlpPnsa+jIIVcI8St70kS2WPU8qCyNIdJZsGEOP08HKbEfDzccDCQE7MId A8JEfpyYN18knTShPIBHC4JYGLfo+DgHj+1/+AgBumyV4cz9NGU266VHgmzHVMpZrGx+ nsyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772744127; x=1773348927; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fjVg4k8L5YS0+fbIU3cK5+QxAukvdu0K3zvehSjPnuA=; b=f4BTd5cL1MCzsbHA4mDWIkUFXug31Y0aMnNBl1HSgiEgw72mX5vPMgz2alq8ffOZJR Qt7myZvxHU72e2hkQYxpJidh6k5me4LvFVn1OYTuBEzz2FFccchHw4K22rJYKaHXydPH R38+JRH90wuBUivDDKY4mmloajpyInp5FJM0119L9aXsN32iCfBq2uHD/c3im7UTbotl khkFAzjjDDmHzRIMkjKkE9u9KVpEwTO3FBVaWH0I6dBNhFdZVpxa81PjJ6oVltHGhCfx BziGvCX5zvb/pwk9zxZHkly00MypLhfFjoAV3Mkmx2TvXQU3Va1snHGv0qrQzzvi2TiH peGw== X-Gm-Message-State: AOJu0Yw9M9X+AcdV7K3Mro0Wo/WjTLcqA7LFZ9zP7GtLH/U1mbcbG/Ff eMd+DdRj4v0pHmBJrwCUC+hcs3hDxH8JkZlHMa69DAvcKybZpOM6zEWRMZz1/GgVA30LSUCt17p w452U X-Gm-Gg: ATEYQzwdjm7l5KUnsHA4yH7DrTzsd6m+RkoBhjCVAFiGd5RsOqt4I8E1GmQF22MLqyf v7BhhsqbzcwT+9ka4Fy8DJpBtvSoakTbDMXKpQLsLD2w4g0HG5OIY6+ycA1VVJjeptl3EtIlJa5 SR5Ocl1d7TDI3G5lpPCUwoEKPrhKEgzoRzBpm22JMKEtv7pLVFniFio+jo8ddPg0wvoD/N26WNg zoUtS5G5s+H84/UR/42l4Kg6NEDxsXU9i88jbSyXcYnPMjBC6nXlL1v33lFxQNnPGSqNl7aOy8O FTcTYIcOtGmL7nrEDjLPC07F95U0Jvf4h2vUlriyZVjjUMDuUOlvxwIPr446EQnyrt/3aj/pPH+ nAF4hiJmQT47/pWT9EYKrguFG9y0o0Th99ihb7CWMtxT24dP15W1RgaG8k6qeNNSs8pipGP+PnK t0eoQlSmYkIk7mYQJsAXQIXqCjfvj6eDwSOFc9yLxzg7XgwNqUDw+SJyF74KjpePveInTagMBQk Aun X-Received: by 2002:a05:6a00:a1b:b0:829:8bb4:1034 with SMTP id d2e1a72fcca58-8299aa6d247mr984598b3a.28.1772744126676; Thu, 05 Mar 2026 12:55:26 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 1/6] hw/virtio: Add virtio_vdev_is_legacy() Date: Thu, 5 Mar 2026 12:55:15 -0800 Message-ID: <20260305205520.2125218-2-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> References: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::435; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x435.google.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @linaro.org) X-ZM-MESSAGEID: 1772744156206158500 This simplifies code compared to having virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1) or !virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1). Acked-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Link: https://lore.kernel.org/qemu-devel/20260225041948.52929-2-philmd@lina= ro.org Signed-off-by: Pierrick Bouvier --- include/hw/virtio/virtio-access.h | 2 +- include/hw/virtio/virtio.h | 7 ++++++- hw/virtio/vhost.c | 12 +++++------- hw/virtio/virtio-pci.c | 6 +++--- hw/virtio/virtio.c | 8 ++++---- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/include/hw/virtio/virtio-access.h b/include/hw/virtio/virtio-a= ccess.h index b58fb6ed7ea..b8aa7a520f5 100644 --- a/include/hw/virtio/virtio-access.h +++ b/include/hw/virtio/virtio-access.h @@ -30,7 +30,7 @@ static inline bool virtio_access_is_big_endian(VirtIODevi= ce *vdev) #if defined(LEGACY_VIRTIO_IS_BIENDIAN) return virtio_vdev_is_big_endian(vdev); #elif TARGET_BIG_ENDIAN - if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { + if (!virtio_vdev_is_legacy(vdev)) { /* Devices conforming to VIRTIO 1.0 or later are always LE. */ return false; } diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index 9dd93cf965a..42d20899390 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -468,9 +468,14 @@ static inline bool virtio_host_has_feature(VirtIODevic= e *vdev, return virtio_has_feature(vdev->host_features, fbit); } =20 +static inline bool virtio_vdev_is_legacy(const VirtIODevice *vdev) +{ + return !virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1); +} + static inline bool virtio_vdev_is_big_endian(const VirtIODevice *vdev) { - if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { + if (virtio_vdev_is_legacy(vdev)) { assert(vdev->device_endian !=3D VIRTIO_DEVICE_ENDIAN_UNKNOWN); return vdev->device_endian =3D=3D VIRTIO_DEVICE_ENDIAN_BIG; } diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index b4cdb7762f9..b9dc4ed13ba 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1168,14 +1168,12 @@ static void vhost_log_stop(MemoryListener *listener, */ static inline bool vhost_needs_vring_endian(VirtIODevice *vdev) { - if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { - return false; + if (virtio_vdev_is_legacy(vdev)) { + return vdev->device_endian =3D=3D (HOST_BIG_ENDIAN + ? VIRTIO_DEVICE_ENDIAN_LITTLE + : VIRTIO_DEVICE_ENDIAN_BIG); } -#if HOST_BIG_ENDIAN - return vdev->device_endian =3D=3D VIRTIO_DEVICE_ENDIAN_LITTLE; -#else - return vdev->device_endian =3D=3D VIRTIO_DEVICE_ENDIAN_BIG; -#endif + return false; } =20 static int vhost_virtqueue_set_vring_endian_legacy(struct vhost_dev *dev, diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 0f5654f459e..bcab2d18b80 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1449,11 +1449,11 @@ static bool virtio_pci_queue_enabled(DeviceState *d= , int n) VirtIOPCIProxy *proxy =3D VIRTIO_PCI(d); VirtIODevice *vdev =3D virtio_bus_get_device(&proxy->bus); =20 - if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { - return proxy->vqs[n].enabled; + if (virtio_vdev_is_legacy(vdev)) { + return virtio_queue_enabled_legacy(vdev, n); } =20 - return virtio_queue_enabled_legacy(vdev, n); + return proxy->vqs[n].enabled; } =20 static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy, diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index e9d55329525..c0c4599b586 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -2753,7 +2753,7 @@ static bool virtio_device_endian_needed(void *opaque) VirtIODevice *vdev =3D opaque; =20 assert(vdev->device_endian !=3D VIRTIO_DEVICE_ENDIAN_UNKNOWN); - if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { + if (virtio_vdev_is_legacy(vdev)) { return vdev->device_endian !=3D virtio_default_endian(); } /* Devices conforming to VIRTIO 1.0 or later are always LE. */ @@ -3460,10 +3460,10 @@ virtio_load(VirtIODevice *vdev, QEMUFile *f, int ve= rsion_id) * to calculate used and avail ring addresses based on the desc * address. */ - if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { - virtio_init_region_cache(vdev, i); - } else { + if (virtio_vdev_is_legacy(vdev)) { virtio_queue_update_rings(vdev, i); + } else { + virtio_init_region_cache(vdev, i); } =20 if (virtio_vdev_has_feature(vdev, VIRTIO_F_RING_PACKED)) { --=20 2.47.3 From nobody Fri Mar 27 02:33:53 2026 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1772744155; cv=none; d=zohomail.com; s=zohoarc; b=KXUCmULf7xUOXEne/MXjLm/vB99lzjASOVC08bQZyQku8nd/+ftkZ34XKyG2cOGnz56FuSpO0039izn8ICIoDcheEzt8VviAz3pouY+TsC3+at0c5cJy65nhzcWxG/BHrQ6vpFwXaSMLi7LTa3uplrKWFCwmRtcdU8zONBBe87I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772744155; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QAo6ofbgTbHTQLqhku7tbhHK2r8k4onc7bjEitYzIus=; b=j02bxpOlimJ1SzA+tT30uq6BzjBynkaaygpYzl6S8fmMtoy+fAiUOVL/qhFofMa+wxL3+olfYCXqRsgQA72MuDurPT2oy3Xu2YtbVngTAIrcQsgChO4VomnrRO3Sjpq23kp5SL7vgKc8DQHG6TJlqdJVXVcCt8ThA5Uc+Gi5oIs= 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 1772744155604397.68107599949724; Thu, 5 Mar 2026 12:55:55 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyFjX-0003VX-C6; Thu, 05 Mar 2026 15:55:49 -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 1vyFjJ-0003Po-NS for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:34 -0500 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyFjG-0006g1-VN for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:33 -0500 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-829756f3ee9so2100168b3a.2 for ; Thu, 05 Mar 2026 12:55:29 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e4fbbd4sm3847454b3a.53.2026.03.05.12.55.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 12:55:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772744128; x=1773348928; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QAo6ofbgTbHTQLqhku7tbhHK2r8k4onc7bjEitYzIus=; b=eEJ6lrqvaWDexAf+MkjdOpwWITxr9qGWvmFivvipYtWt8SlQAbKxpKPmYxF0a1Kvaf ru+gikDg21xnXPQ2J0996qqbYWnQTpJuprRLj89BBs7vjGl7GfXhE5gjZc+gx5enPbz1 s1SoTdn5UXhn7nxmmwcVAoEHJEdYDMiv3z4Kpso8kkAM+tyUja0hrsTsyKvum2Mb+m5Q n1chEAF3zmhW7EWaGUXkmrHqrlc7yyDJC9UmO3WxWo2jkxjiVDg0s8Tv4p/meTBTGPf1 MNZiGVaZZYAYAMgRMKYPA0xN+m1HJ9kCVkVTQa9cwgPI/pOO//vqTyF2eI+Cyz0qdljy 9Haw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772744128; x=1773348928; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=QAo6ofbgTbHTQLqhku7tbhHK2r8k4onc7bjEitYzIus=; b=nQTHt+st9jyC6P/z6DYTE172hu5+RjKxhp9w/WRTGHAOc4y8+4JwRUepWGPnTPFO2i sSFLYUZWL0pqwMKn2KZk1XbHZLse9+ybnWflIesRvaGmIIC7bfqr6QeiQLSlt1ZPbNNg s0b/XpSmUmnB7AsJNp0v5Ac+oGg3OL+h1c6Eao/mCEx8Ezs4U9Uq+Z4M5w0aFHCqia0q vt7FQUizJlxK/V3Dm86UkGH1ze+ykPVcOSCYrP4Lm3OisiTOCujjWmA5GqAiRtML8v4S O6EfJ+o4G4gsVJabe2wNL+u4gbG43n5X6/DkT+loJB84fJwS9IVBZrh+nYYumeZIbeZo EkzA== X-Gm-Message-State: AOJu0YxG8Qmbcr4529nQzW0c70ZgOlK+syCOivBBrJyBzOBguz1L6vMH ovxmcurgmEj1dqZyCvsOWIeP9CoJNtYGs7RwkqxV6EIIN1JHGVYHEmcp1q4Epba3XQuIXVhmaoe vcIqL X-Gm-Gg: ATEYQzxO/GZG8tRfpluTslKgQFKjzsh3BvRYSo2HYwT+2vr99sAt/Z4P57OJ9Wtgk2T yJhSeQT2kdeP/0CNnmTZz6OXjZupf7SoFA0m0AVtEgUivMATVHRXZ3UPtO8xoz0JGWe1V54Q+CB yfzZQFnsHalhoA0Dpsu+anCEvLSS8VXgBfqaE0clcOy4mnaBIZqsMXwkag/m2XyrYYOJYV6hJe2 QvUI64l3ZaxJGjxZd/sqxmCsTnPiGFjDjGBlIoL98tS3ICe60I8/PuYhFORau31HeDdcEXVLW8J BXZDCjBNakXFO+pjmJHUQ35qqbR45J/2pZuhT1NvvQShGCjMfHY7TNA/9FuB9HH7aZI/gAbicIY NJ75YjjZmcl0erHDoFZeKRl1KJSstUAMCTBhVV04R5qjleExGPm5LyBpOEsCCw42KbhVpwNS9nS 5HJvAHlImt1eELDp8w7oUR3I2DwAlkFiMsq0WJYiUcMPN38X6qvf7RZM0FPG36kw48ilBE1/aBm Jqw X-Received: by 2002:a05:6a00:2184:b0:827:2f06:87af with SMTP id d2e1a72fcca58-82972d4b197mr5770882b3a.64.1772744127836; Thu, 05 Mar 2026 12:55:27 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 2/6] hw/virtio: Simplify virtio_access_is_big_endian() Date: Thu, 5 Mar 2026 12:55:16 -0800 Message-ID: <20260305205520.2125218-3-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> References: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::429; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x429.google.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @linaro.org) X-ZM-MESSAGEID: 1772744156904154100 Thanks to previous refactoring, we can see more easily it is strictly equivalent to always call virtio_vdev_is_big_endian. static inline bool virtio_vdev_is_big_endian(VirtIODevice *vdev) { if (virtio_vdev_is_legacy(vdev)) { assert(vdev->device_endian !=3D VIRTIO_DEVICE_ENDIAN_UNKNOWN); return vdev->device_endian =3D=3D VIRTIO_DEVICE_ENDIAN_BIG; } /* Devices conforming to VIRTIO 1.0 or later are always LE. */ return false; } The key is to understand that vdev->device_endian is initialized as expected. It always contains cpu endianness, and not device endianness, ignoring if device is legacy or not. By default, it's initialized to vdev->device_endian =3D virtio_default_endian(), which matches target default endianness. Then, on virtio_reset, it will be initialized with current_cpu endianness (if there is one current_cpu). void virtio_reset() { ... if (current_cpu) { /* Guest initiated reset */ vdev->device_endian =3D virtio_current_cpu_endian(); } else { /* System reset */ vdev->device_endian =3D virtio_default_endian(); } Now, we can see how existing virtio_access_is_big_endian is equivalent to virtio_vdev_is_big_endian. Let's break the existing function in its 3 variants, and compare that to virtio_vdev_is_big_endian. static inline bool virtio_access_is_big_endian(VirtIODevice *vdev) - #if defined(LEGACY_VIRTIO_IS_BIENDIAN) return virtio_vdev_is_big_endian(vdev); This is the exact replacement we did, so equivalent. - #elif TARGET_BIG_ENDIAN if (!virtio_vdev_is_legacy(vdev)) { return false; } return true; we know target_is_big_endian(), so vdev->device_endian =3D=3D VIRTIO_DEVICE_ENDIAN_BIG. if (virtio_vdev_is_legacy(vdev)) { return VIRTIO_DEVICE_ENDIAN_BIG =3D=3D VIRTIO_DEVICE_ENDIAN_BIG; } return false; It's written in opposite style compared to existing code (if legacy vs if modern), but it's strictly equivalent. - #else return false; we know !target_is_big_endian(), so vdev->device_endian =3D=3D VIRTIO_DEVICE_ENDIAN_LITTLE. if virtio_vdev_is_legacy(vdev) { return VIRTIO_DEVICE_ENDIAN_LITTLE =3D=3D VIRTIO_DEVICE_ENDIAN_BIG; } return false; So it always return false, as expected. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Link: https://lore.kernel.org/qemu-devel/20260225041948.52929-3-philmd@lina= ro.org Signed-off-by: Pierrick Bouvier --- include/hw/virtio/virtio-access.h | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/include/hw/virtio/virtio-access.h b/include/hw/virtio/virtio-a= ccess.h index b8aa7a520f5..e3148c23881 100644 --- a/include/hw/virtio/virtio-access.h +++ b/include/hw/virtio/virtio-access.h @@ -21,23 +21,9 @@ #include "hw/virtio/virtio.h" #include "hw/virtio/virtio-bus.h" =20 -#if defined(TARGET_PPC64) || defined(TARGET_ARM) -#define LEGACY_VIRTIO_IS_BIENDIAN 1 -#endif - static inline bool virtio_access_is_big_endian(VirtIODevice *vdev) { -#if defined(LEGACY_VIRTIO_IS_BIENDIAN) return virtio_vdev_is_big_endian(vdev); -#elif TARGET_BIG_ENDIAN - if (!virtio_vdev_is_legacy(vdev)) { - /* Devices conforming to VIRTIO 1.0 or later are always LE. */ - return false; - } - return true; -#else - return false; -#endif } =20 static inline void virtio_stw_p(VirtIODevice *vdev, void *ptr, uint16_t v) --=20 2.47.3 From nobody Fri Mar 27 02:33:53 2026 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1772744162; cv=none; d=zohomail.com; s=zohoarc; b=eafhsd+Lh65OYADeDm+gmg7ikPQbD2WQk0867+8+A6ZPvF+l0o6HPNRWxWhQQPlf+e0vuZ7CD9WMebyECy5/WRnESExIgjz5lTaikng3a4ECkSZZ73zQvpAczrGvJx+6LD+x/BbuxLHFzgBwpsB9WIRpEWgTfR3jkipip8VCM/s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772744162; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nkGRHnWZzEkpTkOUXW6elzMRnuyLVvfMOFl+6+n7Ots=; b=nvfFFOubsdYzs5VSWzT7YJtd5PcYT66NYusUPpMcR9PXsMnNHu7KCi4l5xyzaRWGAWhTBXaqY7KhMXYuodJvHA1yuTrG33bLYobeHGv9XNN7u7TF0YK0xPUW03iMQ9pA3s5kzm7HJabeEtbRsT/Lq8CGNpU85AJaOl2baOqte8U= 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 1772744162516430.9516767858962; Thu, 5 Mar 2026 12:56:02 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyFjd-0003Xq-NH; Thu, 05 Mar 2026 15:55:53 -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 1vyFjM-0003QO-A5 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:37 -0500 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyFjI-0006gK-2r for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:35 -0500 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-829756f3ee9so2100179b3a.2 for ; Thu, 05 Mar 2026 12:55:30 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e4fbbd4sm3847454b3a.53.2026.03.05.12.55.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 12:55:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772744129; x=1773348929; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nkGRHnWZzEkpTkOUXW6elzMRnuyLVvfMOFl+6+n7Ots=; b=tDpvrEcgnxNNl/GHhIhPUk8WMJPcWQHul30cV7vLcIq+7ukbcxl47DuEjOZo52oDJH 8VQaBvdKeUU3mdMWyGn8mRNCd+Miz7OtYWkuQL+uZFAh0i/LVRmKYtzhH+LDdwliSmou CJSLubsxQaM2sp9XfzRYW8AlIgtmtqPcosIjuZ2Md9ds2TngDycNk/DT8J3FmEKZlYL7 Z5MjMV56ASfEmq4mirwZI9OswhDrgM8AGUdUf/1LxMU5vVFkjOHMm19Dy1wwM3Fq5Hew +ZpdxCZ75fQBh9H6gTjnGaS+OougWVNkJYR4Jnu8ZiQlYkAVtd9xU0UGDJB1rHyDR7QH jSzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772744129; x=1773348929; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=nkGRHnWZzEkpTkOUXW6elzMRnuyLVvfMOFl+6+n7Ots=; b=KQfiOPflWAuvNiXRnz+OxREIYrQFi2/VD8kXjl7OiXTRxsQTUoSL9Bi9bPxmNpwzPp NhMmrMyMvjDr1cQF2sGlDRXQxl7NfHNYvh4PdcMPn3DqZde6Rg9Q4Y0v6UdrQ/HXatdh T+iTThhlcpz/HTObV3g5+MXdiVxF29NHxwS9TXf0VU5P5NJ5K/pXV0Odtmxsp70IfWEG 2+QIpilgVF6AdvpRlw7vkdOdVqeBesLlBoxwmW6ShpyQL9WhjAlVr3KrSMqmB6CaOwMp uRQNrzgZMykvlg4kHXgJJ5vXlxwob2mWMbTcZHspV2sku1/rAFBu1YpEXUK6Bd6bfYoC dbCQ== X-Gm-Message-State: AOJu0YwFD4B2hhiVJEX9SXjLLhNd/6rfnG0jAi4It4R176Lzz2s8PbKY Tqg6ihWGj7HCgOjAq6sxXeoPTK0h2zzCqK0H2+ysBcfUP2NxXO0BqHEhMVMuJYFHSJPGm9BqjDN D3Hkb X-Gm-Gg: ATEYQzxj8iaNje3k87RLuToq4hKSFEnF4lA/CLr235TzbuZhpynYhaOH6jWgr0yW0Tc MES0SgbI3xjVOS59Pmbw6w7f5XVZkxaJURWHnHediOO8iELfD1SdqW4rI+kK5XCS12SXHoVk8V2 rakwgK/JmsbG60CC2Ep9sl4Psr3a0ahYEORHrWlFvgH6yU05UfrkuY6g+lV4nUUcMSttcil7+zh Bava0OFEPGe4p8Es0rfI1XqaSpVxly4nIoQvDNIH3trFQot3PVRIZ9+GZeafWdvgsXTd1pyAvCi HjXx/MxReENiO55hR8nhbfiTkUn+sIMclc2CD7smezI9U5w1TL/iUyRoL+xjPfh1akoIlCa57L+ G3BCO0WtY4FPb6/oBwNpPB4GUqI20gjPJkJaQVEIo7R2w1BR/muoDzIY0w7yfCfykgvke5RPK+a LEMk5yuCfRnSENZM5ftMaxz07L9v4Hu8RReREk/eSkIzZHruiJmvwEvXykZXN+4oGjZhJaKNDW+ Wyt X-Received: by 2002:a05:6a00:399b:b0:827:37d5:af5a with SMTP id d2e1a72fcca58-82972b414b7mr5913503b3a.19.1772744129028; Thu, 05 Mar 2026 12:55:29 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 3/6] hw/virtio: Inline virtio_access_is_big_endian() Date: Thu, 5 Mar 2026 12:55:17 -0800 Message-ID: <20260305205520.2125218-4-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> References: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::42b; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x42b.google.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @linaro.org) X-ZM-MESSAGEID: 1772744164810154100 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Link: https://lore.kernel.org/qemu-devel/20260225041948.52929-4-philmd@lina= ro.org Signed-off-by: Pierrick Bouvier --- include/hw/virtio/virtio-access.h | 29 ++++++++++++----------------- hw/virtio/virtio.c | 4 ++-- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/include/hw/virtio/virtio-access.h b/include/hw/virtio/virtio-a= ccess.h index e3148c23881..506be642c9f 100644 --- a/include/hw/virtio/virtio-access.h +++ b/include/hw/virtio/virtio-access.h @@ -21,14 +21,9 @@ #include "hw/virtio/virtio.h" #include "hw/virtio/virtio-bus.h" =20 -static inline bool virtio_access_is_big_endian(VirtIODevice *vdev) -{ - return virtio_vdev_is_big_endian(vdev); -} - static inline void virtio_stw_p(VirtIODevice *vdev, void *ptr, uint16_t v) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { stw_be_p(ptr, v); } else { stw_le_p(ptr, v); @@ -37,7 +32,7 @@ static inline void virtio_stw_p(VirtIODevice *vdev, void = *ptr, uint16_t v) =20 static inline void virtio_stl_p(VirtIODevice *vdev, void *ptr, uint32_t v) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { stl_be_p(ptr, v); } else { stl_le_p(ptr, v); @@ -46,7 +41,7 @@ static inline void virtio_stl_p(VirtIODevice *vdev, void = *ptr, uint32_t v) =20 static inline void virtio_stq_p(VirtIODevice *vdev, void *ptr, uint64_t v) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { stq_be_p(ptr, v); } else { stq_le_p(ptr, v); @@ -55,7 +50,7 @@ static inline void virtio_stq_p(VirtIODevice *vdev, void = *ptr, uint64_t v) =20 static inline int virtio_lduw_p(VirtIODevice *vdev, const void *ptr) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { return lduw_be_p(ptr); } else { return lduw_le_p(ptr); @@ -64,7 +59,7 @@ static inline int virtio_lduw_p(VirtIODevice *vdev, const= void *ptr) =20 static inline int virtio_ldl_p(VirtIODevice *vdev, const void *ptr) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { return ldl_be_p(ptr); } else { return ldl_le_p(ptr); @@ -73,7 +68,7 @@ static inline int virtio_ldl_p(VirtIODevice *vdev, const = void *ptr) =20 static inline uint64_t virtio_ldq_p(VirtIODevice *vdev, const void *ptr) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { return ldq_be_p(ptr); } else { return ldq_le_p(ptr); @@ -83,9 +78,9 @@ static inline uint64_t virtio_ldq_p(VirtIODevice *vdev, c= onst void *ptr) static inline uint16_t virtio_tswap16(VirtIODevice *vdev, uint16_t s) { #if HOST_BIG_ENDIAN - return virtio_access_is_big_endian(vdev) ? s : bswap16(s); + return virtio_vdev_is_big_endian(vdev) ? s : bswap16(s); #else - return virtio_access_is_big_endian(vdev) ? bswap16(s) : s; + return virtio_vdev_is_big_endian(vdev) ? bswap16(s) : s; #endif } =20 @@ -97,9 +92,9 @@ static inline void virtio_tswap16s(VirtIODevice *vdev, ui= nt16_t *s) static inline uint32_t virtio_tswap32(VirtIODevice *vdev, uint32_t s) { #if HOST_BIG_ENDIAN - return virtio_access_is_big_endian(vdev) ? s : bswap32(s); + return virtio_vdev_is_big_endian(vdev) ? s : bswap32(s); #else - return virtio_access_is_big_endian(vdev) ? bswap32(s) : s; + return virtio_vdev_is_big_endian(vdev) ? bswap32(s) : s; #endif } =20 @@ -111,9 +106,9 @@ static inline void virtio_tswap32s(VirtIODevice *vdev, = uint32_t *s) static inline uint64_t virtio_tswap64(VirtIODevice *vdev, uint64_t s) { #if HOST_BIG_ENDIAN - return virtio_access_is_big_endian(vdev) ? s : bswap64(s); + return virtio_vdev_is_big_endian(vdev) ? s : bswap64(s); #else - return virtio_access_is_big_endian(vdev) ? bswap64(s) : s; + return virtio_vdev_is_big_endian(vdev) ? bswap64(s) : s; #endif } =20 diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index c0c4599b586..22d798e6cdd 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -222,7 +222,7 @@ static inline uint16_t virtio_lduw_phys_cached(VirtIODe= vice *vdev, MemoryRegionCache *cache, hwaddr pa) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { return lduw_be_phys_cached(cache, pa); } return lduw_le_phys_cached(cache, pa); @@ -232,7 +232,7 @@ static inline void virtio_stw_phys_cached(VirtIODevice = *vdev, MemoryRegionCache *cache, hwaddr pa, uint16_t value) { - if (virtio_access_is_big_endian(vdev)) { + if (virtio_vdev_is_big_endian(vdev)) { stw_be_phys_cached(cache, pa, value); } else { stw_le_phys_cached(cache, pa, value); --=20 2.47.3 From nobody Fri Mar 27 02:33:53 2026 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1772744185; cv=none; d=zohomail.com; s=zohoarc; b=QEw2kTvr+VzVcIEQkKQHSoEzvDfn6c2dhhIC1Mj4Xa+6MEiJNDxZdaY1oQwkHmewmNkmXaSVAWjX8IPAxWxGPU1YNQwvXkMmFFmHZb+He+pohQu0hdhoDNYFosN1CZN1FATjScXGG/UHd1OAlVIBNYpl+QZ3pEwKpZazsqsn9bc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772744185; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=76kT1LLbzqR90+aCRQBHop//yXjVEoX7825LzBvy7WA=; b=Wd0DA2hcSXQRtPwsfFOB8t96/I7LFF3dbbfBg500Gbngv1lRxqUuNLbA1gOQzzduabwCRjCG4zI1/HXOCjzfA381yXDgoLcHY5Ekrb8e1NU4XwM3BmzSO4ivTmi5T1S+laG1RmqmarpxrePB60ghc1XLKwUHAiW3xZs8YYIg7QI= 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 1772744185618377.6996037678332; Thu, 5 Mar 2026 12:56:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyFje-0003c3-8W; Thu, 05 Mar 2026 15:55: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 1vyFjM-0003QN-A0 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:37 -0500 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyFjI-0006gW-2u for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:34 -0500 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-82418b0178cso4797609b3a.1 for ; Thu, 05 Mar 2026 12:55:31 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e4fbbd4sm3847454b3a.53.2026.03.05.12.55.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 12:55:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772744130; x=1773348930; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=76kT1LLbzqR90+aCRQBHop//yXjVEoX7825LzBvy7WA=; b=fC6KhEKTz9sYqX7Qzgnt7bqUzvZTGsy4XkVZ2AzLfMHeKs5di8QoelfUN0AB82NoSA +J6gb5ryUfqmeVUMjUjSQzOg44semA9ku3iCFfRwacvmA0E5SBbN3Q5heW/s+BRYAhSJ t487BrFButH5Yfe3j7ID2A5Kf8uJpH/f0FCLWX8BGELH0Q6Ro8JB3ubpU9EnjlsnV6Ri cg//WfUDqAkN7ZKgwN/x2t7889bmZrHr49IPfECVVgO7cM0NomC85coRfBd7kr+hsMK1 iAcA7QJQ+hBtfZNg0CdwmzoPMGTF/nZOfHfYmBGJurfibmBgaYu8WWS4oR/+rCEhPac0 veaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772744130; x=1773348930; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=76kT1LLbzqR90+aCRQBHop//yXjVEoX7825LzBvy7WA=; b=KX9e8FuIdAjKLhRnaxsFNPcJs0KoW/soHDdxj72gbBzGcK0o+zlhbf+TpahpMUJtJV UmZOwlpGMrvSEURj++sg+unc5r2uS8H4Z7ThUO65RXjOIJQxnec1OsS5EIWSm9Y4b6vz rSYzwPgnhzjB20V8WFDuW49fyuftZOX4keODif0bSa4WnHA9+IjKjVCRHcg8FGwg5d3f eP0J4egR2gndPTIJEgSgZVz7QpqWjbOG3hWmJoXRYsrlKRzp6hUrD4kbU1ey8E+kYfeH bpjHxwhsPEEmCwwPyK9mx93PnuYCZIpYgljW1FUlMvM9C18VQx1a2qJcbv6lC+XvO2Fm EKww== X-Gm-Message-State: AOJu0YxUzWIlhNeCBumjxvw0l5uY77ZfYA0tWXAQeqU3YOPv+I9XC7/0 nGT1N4VAh4YhrBlyNIJ4ywoEPOIemb0dm6+OhE9KINOcId6zYsCcpL7a95GGgKQJ4T2GitHwRH5 Y0WCT X-Gm-Gg: ATEYQzwkis0ese0Gj8kM/fR1fqcxzylN3omLzxLOo41UsPXYg5bF+AbL5YKIVUWnPiN JJCUiZHxDnUVOTXP0MzyAJYWArfF5pdNfEnqTCTP11d9uBq5WkeCfgJB7hP+VwMHbowg2wLilHw dHj1XLO8Wok82RLdQBDFM4/j7sV8NJB0w0AFb5b36eCF8jzuw0W//RsnV9xdcBugLd1XSqVn8Py Vwv/xqN9tmSwc7kTL1NJqFh4I6nJ0xjvTwnNrtt5Rel4xMkcsVLDFmSPi4PL0V/XBqJInQwkgxZ UJTn7e5BXEzLsAtftbWGi/Zz05VNt/vLHVir9VyVbja/tbGbRFOTv0IVRWjspWW3AezNNR6qGqX HSFxQTXijtTBM5Djug9MUSLUqwva7UCkMV095kOZNZZMHDItoY+bPtS/05POHNauGwucM6jrE+1 UeSYXVS+QyWxLDseSZcdK+goTmexPlmel4CzuS8odNc1gdeMZv/5Tsy0Ml7FOV9ickCGS6cKLAf T+M X-Received: by 2002:a05:6a00:a01:b0:81f:50b1:51f2 with SMTP id d2e1a72fcca58-8299aba1f90mr927518b3a.41.1772744130182; Thu, 05 Mar 2026 12:55:30 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 4/6] hw/virtio/vhost-user: make compilation unit common Date: Thu, 5 Mar 2026 12:55:18 -0800 Message-ID: <20260305205520.2125218-5-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> References: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::433; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x433.google.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @linaro.org) X-ZM-MESSAGEID: 1772744186167158500 PPC architectures use a custom value for VHOST_USER_MAX_RAM_SLOTS (32 instead of 512). vhost_user struct and several functions use VHOST_USER_MAX_RAM_SLOTS to define stack allocated buffers. To avoid changing all functions to use heap allocated buffers, we keep this max, and simply add a target_base_ppc() conditional for the single place where size really matters. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Link: https://lore.kernel.org/qemu-devel/20260225041948.52929-5-philmd@lina= ro.org Signed-off-by: Pierrick Bouvier --- hw/virtio/vhost-user.c | 11 ++++------- hw/virtio/meson.build | 3 +-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c index bb8f8eab77e..a8907cca74e 100644 --- a/hw/virtio/vhost-user.c +++ b/hw/virtio/vhost-user.c @@ -44,13 +44,8 @@ #define VHOST_USER_F_PROTOCOL_FEATURES 30 #define VHOST_USER_BACKEND_MAX_FDS 8 =20 -#if defined(TARGET_PPC) || defined(TARGET_PPC64) -#include "hw/ppc/spapr.h" -#define VHOST_USER_MAX_RAM_SLOTS SPAPR_MAX_RAM_SLOTS - -#else +#include "hw/ppc/spapr_common.h" #define VHOST_USER_MAX_RAM_SLOTS 512 -#endif =20 /* * Maximum size of virtio device config space @@ -2287,7 +2282,9 @@ static int vhost_user_backend_init(struct vhost_dev *= dev, void *opaque, return -EINVAL; } =20 - u->user->memory_slots =3D MIN(ram_slots, VHOST_USER_MAX_RAM_SL= OTS); + const uint64_t vhost_user_max_ram_slots =3D target_base_ppc() ? + SPAPR_MAX_RAM_SLOTS : VHOST_USER_MAX_RAM_SLOTS; + u->user->memory_slots =3D MIN(ram_slots, vhost_user_max_ram_sl= ots); } } =20 diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build index 6675b63ce65..ae33d403cf7 100644 --- a/hw/virtio/meson.build +++ b/hw/virtio/meson.build @@ -17,8 +17,7 @@ if have_vhost system_virtio_ss.add(files('vhost.c')) system_virtio_ss.add(files('vhost-backend.c', 'vhost-iova-tree.c')) if have_vhost_user - # fixme - this really should be generic - specific_virtio_ss.add(files('vhost-user.c')) + system_virtio_ss.add(files('vhost-user.c')) system_virtio_ss.add(files('vhost-user-base.c')) =20 # MMIO Stubs --=20 2.47.3 From nobody Fri Mar 27 02:33:53 2026 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1772744179; cv=none; d=zohomail.com; s=zohoarc; b=TtpwlaSc/+QpF+bUpyk3WpS6YV5AaOae52jqd+0Eejun2vdNjkgI5ohrnzfte8oBVolOre+1kK7iUlij4YHxiReQTnz/58BtOL+/vsQ7ln2GWnSm0vl4YBBRaN7++f6f2geEKlh01oxacN8S1NxCo5U80owSqyp3ddATmB7b56w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772744179; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=VhJRBCoqCgIyiXf8YnzTETE2bKHQan9QnCheNmzknqw=; b=l+W4ZZP5MJIvqJr0btI9ON4C2XWwxh+xx9JPuS3gF62H7wh/Wa890QV9BgmCgbQGLnSPm7qT2XwOrn1ePgaPvKfaVGDuTU4Fs7FCsJUPV8UZRFBPVXDl/8/8Frhs08XpOfpsdxil0bS9pGRKv8ZvQadLOiP1SwTSFUCYUkqraZQ= 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 1772744178996421.7739196366341; Thu, 5 Mar 2026 12:56:18 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyFjl-0003on-7n; Thu, 05 Mar 2026 15:56:01 -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 1vyFjM-0003QM-9x for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:38 -0500 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyFjJ-0006gm-C5 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:35 -0500 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-829759ca646so1234632b3a.2 for ; Thu, 05 Mar 2026 12:55:32 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e4fbbd4sm3847454b3a.53.2026.03.05.12.55.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 12:55:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772744131; x=1773348931; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VhJRBCoqCgIyiXf8YnzTETE2bKHQan9QnCheNmzknqw=; b=AiPPB0uFGFJ8kKzLCnS+dCLDV48XrQj/puVFmqcQNuZx7xP5vEI3BnwoQ1VUm2ALc8 i7ljhW0+3XPOo6C3RdAxB3n4VwcDutNDfkfHYHaHAGfOcWZv9G/A7BzvWimlc5gYFsWd Ko35CSBKuZoDsDKTe3riDD59wEx34yv5XMEyw84+2yW1BIVJ8MXRE9/Ua8uhtwzovwMi /cniSQjOBF0iP7IrVRWwK1IRsaVtPlBovJgqWqzU12cRbL7cz/Vt1ZsuesIz681ux2AZ 1UlI3jiLJOALDlGe1FElgsKCzv6zmR1pQfvKhdxGIO+/b7sNEzhwlU+RYiBvrgG1CgQB HAFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772744131; x=1773348931; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=VhJRBCoqCgIyiXf8YnzTETE2bKHQan9QnCheNmzknqw=; b=NPQUNfbeckqIFM4z/6/K4DO86M9VBhqu6lSwSqQVqk8Wt3LdHNHUF52zRvz+QJjCtF 5PPoL5YZpH/4s/Nos3No4h8zV6FPuM61lLH1GvPUoZCWy7+Q7ek5la9lVqWJXkQrAbjA ZI8VBhK462Vb9D3zqQpwSWoVvlAt9DsCT4T144ML6o/tL8feu7lZiRXFebr5zuakXHHe hMdKFWZRW7xFtvIljB0dB74KtKxdzgGkLD2pqV0DQ3z4XEuYF/li3lVZDCd3NWeJfyY+ 52ITzh0nnMQCK93Mg/kV8elkNPUwqQwB/hdgP8rkf1nNGn2Lbga3XN4BseJ8qmDEFrUI D6nQ== X-Gm-Message-State: AOJu0Yxibm5GyjSjNsAsS2F5ifAneUfc6xbjBbA/6vAKjqhC4Qujwf9Z XRhJlVnW96cyZSa6f3nEUR/T7KaoAS6UYrV+/wGKWjwihdUOHFbzZ4lMkN5WBH/SypxgXK2vKBR YpYVr X-Gm-Gg: ATEYQzztYKPDRYOfxHd4s7yI+modNnWs0yh1XzEi38U0jbgEIeRgE2CwprzFCVUh3El 89nPttMxyf7B9EMs35/m7iPF7Tz1wM8XsMlymJyKHD0ypW1H6XmienAov/lJVpJVh+sYxzBOHIY nwB9x4eXJobh7WDAFw4xGeoVt4pTD8DrjPzV73OlgRK56bIYWZK5TyhebTqcTXAo+yGR4eHeYxC YZbJwSEM0xUWFAdtLONNhyNGeSwnKfqk1G9XifM0LG+xz/kbvEioLTjT470Aj0pEcN26JHbhN3L qxnZA1WOPiut0yGZxXCy3Z+T+m4BlGQvHRKK8yjmk6WkfM89e842OUgwN5/s9R3Pa+m4YNty88j b3xyZAwnOHBWvnC08iQmJD3EYzxHaDMOcGlINVBQnx8+NgiQPq3tGZdToX8mG7HWR5y5b4P5VLp jzqPVyo+1JsJfEabgma2F3zI19P6qTTppDyGmtFikHmdOnRsQrhJnXUhB0VDxOppwUsnTjM5FMx EEh X-Received: by 2002:a05:6a00:130a:b0:81f:3f03:6832 with SMTP id d2e1a72fcca58-82972d0d57dmr6040683b3a.44.1772744131404; Thu, 05 Mar 2026 12:55:31 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 5/6] hw/virtio/virtio-qmp: make compilation unit common Date: Thu, 5 Mar 2026 12:55:19 -0800 Message-ID: <20260305205520.2125218-6-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> References: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::42b; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x42b.google.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @linaro.org) X-ZM-MESSAGEID: 1772744181214154100 All compile time conditionals have no impact at runtime, since they are representing only possible features for devices present at runtime. In case they are not present, associated features table will never be used. In case they are present but some features are not, matching bits will never be enabled, so those entries will be unused. Thus, simply expose everything and call it a day. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Link: https://lore.kernel.org/qemu-devel/20260225041948.52929-6-philmd@lina= ro.org Signed-off-by: Pierrick Bouvier --- hw/virtio/virtio-qmp.c | 70 ------------------------------------------ hw/virtio/meson.build | 2 +- 2 files changed, 1 insertion(+), 71 deletions(-) diff --git a/hw/virtio/virtio-qmp.c b/hw/virtio/virtio-qmp.c index 968299fda0c..f9cdca50d99 100644 --- a/hw/virtio/virtio-qmp.c +++ b/hw/virtio/virtio-qmp.c @@ -33,21 +33,17 @@ #include "standard-headers/linux/virtio_vsock.h" #include "standard-headers/linux/virtio_gpio.h" =20 -#include CONFIG_DEVICES - #define FEATURE_ENTRY(name, desc) (qmp_virtio_feature_map_t) \ { .virtio_bit =3D name, .feature_desc =3D desc } =20 /* Virtio transport features mapping */ static const qmp_virtio_feature_map_t virtio_transport_map[] =3D { /* Virtio device transport features */ -#ifndef VIRTIO_CONFIG_NO_LEGACY FEATURE_ENTRY(VIRTIO_F_NOTIFY_ON_EMPTY, \ "VIRTIO_F_NOTIFY_ON_EMPTY: Notify when device runs out of avai= l. " "descs. on VQ"), FEATURE_ENTRY(VIRTIO_F_ANY_LAYOUT, \ "VIRTIO_F_ANY_LAYOUT: Device accepts arbitrary desc. layouts"), -#endif /* !VIRTIO_CONFIG_NO_LEGACY */ FEATURE_ENTRY(VIRTIO_F_VERSION_1, \ "VIRTIO_F_VERSION_1: Device compliant for v1 spec (legacy)"), FEATURE_ENTRY(VIRTIO_F_IOMMU_PLATFORM, \ @@ -149,7 +145,6 @@ static const qmp_virtio_feature_map_t virtio_config_sta= tus_map[] =3D { }; =20 /* virtio-blk features mapping */ -#ifdef CONFIG_VIRTIO_BLK static const qmp_virtio_feature_map_t virtio_blk_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_BLK_F_SIZE_MAX, \ "VIRTIO_BLK_F_SIZE_MAX: Max segment size is size_max"), @@ -173,7 +168,6 @@ static const qmp_virtio_feature_map_t virtio_blk_featur= e_map[] =3D { "VIRTIO_BLK_F_SECURE_ERASE: Secure erase supported"), FEATURE_ENTRY(VIRTIO_BLK_F_ZONED, \ "VIRTIO_BLK_F_ZONED: Zoned block devices"), -#ifndef VIRTIO_BLK_NO_LEGACY FEATURE_ENTRY(VIRTIO_BLK_F_BARRIER, \ "VIRTIO_BLK_F_BARRIER: Request barriers supported"), FEATURE_ENTRY(VIRTIO_BLK_F_SCSI, \ @@ -183,7 +177,6 @@ static const qmp_virtio_feature_map_t virtio_blk_featur= e_map[] =3D { FEATURE_ENTRY(VIRTIO_BLK_F_CONFIG_WCE, \ "VIRTIO_BLK_F_CONFIG_WCE: Cache writeback and writethrough mod= es " "supported"), -#endif /* !VIRTIO_BLK_NO_LEGACY */ FEATURE_ENTRY(VHOST_F_LOG_ALL, \ "VHOST_F_LOG_ALL: Logging write descriptors supported"), FEATURE_ENTRY(VHOST_USER_F_PROTOCOL_FEATURES, \ @@ -191,10 +184,8 @@ static const qmp_virtio_feature_map_t virtio_blk_featu= re_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio-serial features mapping */ -#ifdef CONFIG_VIRTIO_SERIAL static const qmp_virtio_feature_map_t virtio_serial_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_CONSOLE_F_SIZE, \ "VIRTIO_CONSOLE_F_SIZE: Host providing console size"), @@ -204,10 +195,8 @@ static const qmp_virtio_feature_map_t virtio_serial_fe= ature_map[] =3D { "VIRTIO_CONSOLE_F_EMERG_WRITE: Emergency write supported"), { -1, "" } }; -#endif =20 /* virtio-gpu features mapping */ -#ifdef CONFIG_VIRTIO_GPU static const qmp_virtio_feature_map_t virtio_gpu_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_GPU_F_VIRGL, \ "VIRTIO_GPU_F_VIRGL: Virgl 3D mode supported"), @@ -227,10 +216,8 @@ static const qmp_virtio_feature_map_t virtio_gpu_featu= re_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio-input features mapping */ -#ifdef CONFIG_VIRTIO_INPUT static const qmp_virtio_feature_map_t virtio_input_feature_map[] =3D { FEATURE_ENTRY(VHOST_F_LOG_ALL, \ "VHOST_F_LOG_ALL: Logging write descriptors supported"), @@ -239,10 +226,8 @@ static const qmp_virtio_feature_map_t virtio_input_fea= ture_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio-net features mapping */ -#ifdef CONFIG_VIRTIO_NET static const qmp_virtio_feature_map_t virtio_net_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_NET_F_CSUM, \ "VIRTIO_NET_F_CSUM: Device handling packets with partial check= sum " @@ -313,10 +298,8 @@ static const qmp_virtio_feature_map_t virtio_net_featu= re_map[] =3D { "device with same MAC addr. supported"), FEATURE_ENTRY(VIRTIO_NET_F_SPEED_DUPLEX, \ "VIRTIO_NET_F_SPEED_DUPLEX: Device set linkspeed and duplex"), -#ifndef VIRTIO_NET_NO_LEGACY FEATURE_ENTRY(VIRTIO_NET_F_GSO, \ "VIRTIO_NET_F_GSO: Handling GSO-type packets supported"), -#endif /* !VIRTIO_NET_NO_LEGACY */ FEATURE_ENTRY(VHOST_NET_F_VIRTIO_NET_HDR, \ "VHOST_NET_F_VIRTIO_NET_HDR: Virtio-net headers for RX and TX " "packets supported"), @@ -341,10 +324,8 @@ static const qmp_virtio_feature_map_t virtio_net_featu= re_map[] =3D { "header"), { -1, "" } }; -#endif =20 /* virtio-scsi features mapping */ -#ifdef CONFIG_VIRTIO_SCSI static const qmp_virtio_feature_map_t virtio_scsi_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_SCSI_F_INOUT, \ "VIRTIO_SCSI_F_INOUT: Requests including read and writable dat= a " @@ -364,10 +345,8 @@ static const qmp_virtio_feature_map_t virtio_scsi_feat= ure_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio/vhost-user-fs features mapping */ -#ifdef CONFIG_VHOST_USER_FS static const qmp_virtio_feature_map_t virtio_fs_feature_map[] =3D { FEATURE_ENTRY(VHOST_F_LOG_ALL, \ "VHOST_F_LOG_ALL: Logging write descriptors supported"), @@ -376,10 +355,8 @@ static const qmp_virtio_feature_map_t virtio_fs_featur= e_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio/vhost-user-i2c features mapping */ -#ifdef CONFIG_VIRTIO_I2C_ADAPTER static const qmp_virtio_feature_map_t virtio_i2c_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_I2C_F_ZERO_LENGTH_REQUEST, \ "VIRTIO_I2C_F_ZERO_LEGNTH_REQUEST: Zero length requests suppor= ted"), @@ -390,10 +367,8 @@ static const qmp_virtio_feature_map_t virtio_i2c_featu= re_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio/vhost-vsock features mapping */ -#ifdef CONFIG_VHOST_VSOCK static const qmp_virtio_feature_map_t virtio_vsock_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_VSOCK_F_SEQPACKET, \ "VIRTIO_VSOCK_F_SEQPACKET: SOCK_SEQPACKET supported"), @@ -404,10 +379,8 @@ static const qmp_virtio_feature_map_t virtio_vsock_fea= ture_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio-balloon features mapping */ -#ifdef CONFIG_VIRTIO_BALLOON static const qmp_virtio_feature_map_t virtio_balloon_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_BALLOON_F_MUST_TELL_HOST, \ "VIRTIO_BALLOON_F_MUST_TELL_HOST: Tell host before reclaiming " @@ -424,19 +397,15 @@ static const qmp_virtio_feature_map_t virtio_balloon_= feature_map[] =3D { "VIRTIO_BALLOON_F_REPORTING: Page reporting VQ enabled"), { -1, "" } }; -#endif =20 /* virtio-crypto features mapping */ -#ifdef CONFIG_VIRTIO_CRYPTO static const qmp_virtio_feature_map_t virtio_crypto_feature_map[] =3D { FEATURE_ENTRY(VHOST_F_LOG_ALL, \ "VHOST_F_LOG_ALL: Logging write descriptors supported"), { -1, "" } }; -#endif =20 /* virtio-iommu features mapping */ -#ifdef CONFIG_VIRTIO_IOMMU static const qmp_virtio_feature_map_t virtio_iommu_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_IOMMU_F_INPUT_RANGE, \ "VIRTIO_IOMMU_F_INPUT_RANGE: Range of available virtual addrs.= " @@ -458,15 +427,11 @@ static const qmp_virtio_feature_map_t virtio_iommu_fe= ature_map[] =3D { "available"), { -1, "" } }; -#endif =20 /* virtio-mem features mapping */ -#ifdef CONFIG_VIRTIO_MEM static const qmp_virtio_feature_map_t virtio_mem_feature_map[] =3D { -#ifndef CONFIG_ACPI FEATURE_ENTRY(VIRTIO_MEM_F_ACPI_PXM, \ "VIRTIO_MEM_F_ACPI_PXM: node_id is an ACPI PXM and is valid"), -#endif /* !CONFIG_ACPI */ FEATURE_ENTRY(VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE, \ "VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE: Unplugged memory cannot = be " "accessed"), @@ -475,10 +440,8 @@ static const qmp_virtio_feature_map_t virtio_mem_featu= re_map[] =3D { "plugged when suspending+resuming"), { -1, "" } }; -#endif =20 /* virtio-rng features mapping */ -#ifdef CONFIG_VIRTIO_RNG static const qmp_virtio_feature_map_t virtio_rng_feature_map[] =3D { FEATURE_ENTRY(VHOST_F_LOG_ALL, \ "VHOST_F_LOG_ALL: Logging write descriptors supported"), @@ -487,10 +450,8 @@ static const qmp_virtio_feature_map_t virtio_rng_featu= re_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 /* virtio/vhost-gpio features mapping */ -#ifdef CONFIG_VHOST_USER_GPIO static const qmp_virtio_feature_map_t virtio_gpio_feature_map[] =3D { FEATURE_ENTRY(VIRTIO_GPIO_F_IRQ, \ "VIRTIO_GPIO_F_IRQ: Device supports interrupts on GPIO lines"), @@ -499,7 +460,6 @@ static const qmp_virtio_feature_map_t virtio_gpio_featu= re_map[] =3D { "negotiation supported"), { -1, "" } }; -#endif =20 #define CONVERT_FEATURES(type, map, is_status, bitmap) \ ({ \ @@ -595,96 +555,66 @@ VirtioDeviceFeatures *qmp_decode_features(uint16_t de= vice_id, =20 /* device features */ switch (device_id) { -#ifdef CONFIG_VIRTIO_SERIAL case VIRTIO_ID_CONSOLE: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_serial_feature_map, bitmap= ); break; -#endif -#ifdef CONFIG_VIRTIO_BLK case VIRTIO_ID_BLOCK: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_blk_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_GPU case VIRTIO_ID_GPU: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_gpu_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_NET case VIRTIO_ID_NET: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_net_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_SCSI case VIRTIO_ID_SCSI: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_scsi_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_BALLOON case VIRTIO_ID_BALLOON: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_balloon_feature_map, bitma= p); break; -#endif -#ifdef CONFIG_VIRTIO_IOMMU case VIRTIO_ID_IOMMU: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_iommu_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_INPUT case VIRTIO_ID_INPUT: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_input_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VHOST_USER_FS case VIRTIO_ID_FS: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_fs_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VHOST_VSOCK case VIRTIO_ID_VSOCK: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_vsock_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_CRYPTO case VIRTIO_ID_CRYPTO: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_crypto_feature_map, bitmap= ); break; -#endif -#ifdef CONFIG_VIRTIO_MEM case VIRTIO_ID_MEM: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_mem_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_I2C_ADAPTER case VIRTIO_ID_I2C_ADAPTER: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_i2c_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VIRTIO_RNG case VIRTIO_ID_RNG: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_rng_feature_map, bitmap); break; -#endif -#ifdef CONFIG_VHOST_USER_GPIO case VIRTIO_ID_GPIO: features->dev_features =3D CONVERT_FEATURES_EX(strList, virtio_gpio_feature_map, bitmap); break; -#endif /* No features */ case VIRTIO_ID_9P: case VIRTIO_ID_PMEM: diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build index ae33d403cf7..20356fba812 100644 --- a/hw/virtio/meson.build +++ b/hw/virtio/meson.build @@ -11,7 +11,7 @@ system_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_tr= ue: files('vdpa-dev.c') =20 specific_virtio_ss =3D ss.source_set() specific_virtio_ss.add(files('virtio.c')) -specific_virtio_ss.add(files('virtio-qmp.c')) +system_virtio_ss.add(files('virtio-qmp.c')) =20 if have_vhost system_virtio_ss.add(files('vhost.c')) --=20 2.47.3 From nobody Fri Mar 27 02:33:53 2026 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1772744166; cv=none; d=zohomail.com; s=zohoarc; b=cU/rA/tiu5kgcbe8iEqfpiw/uxzvuFNRbrmC9d5ZTq2jBMQnV69Ylr1lbiPSLG146P8tfaSufRpfOJwRdtGlEY9uWP0JiBsft4vQjGzQyeqCTMnSWTAIiXM5ltPaOg2C6zfzJ6oPb5WXB+DZJxE033F0xDKXnq1OX3H42DLazo4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772744166; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5idQi/OC8e82sVj6JCkzA1Vc/e1PnMuVGtyHxi+4wLA=; b=eVy31FCLCW9hfRFtfUvF2+I3VUVQK2k6p5FsRZxlnJ/T0imJtkoHGHJ0FJuOaVP5mdQZ4FeOR1rj3SG8L0NZfmeg1xnpOcm04VthKdK+oGElnLoBUduB0RePKR8LH7oQQxvlf26hkvtTPKBkZ9jWu/vMnTMktFL7ZmvZIuMOCxc= 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 1772744166768935.8040907548396; Thu, 5 Mar 2026 12:56:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyFjl-0003oo-8k; Thu, 05 Mar 2026 15:56:01 -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 1vyFjN-0003R3-TW for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:39 -0500 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyFjK-0006h8-22 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 15:55:36 -0500 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-8299c75f730so197023b3a.0 for ; Thu, 05 Mar 2026 12:55:33 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e4fbbd4sm3847454b3a.53.2026.03.05.12.55.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 12:55:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772744132; x=1773348932; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5idQi/OC8e82sVj6JCkzA1Vc/e1PnMuVGtyHxi+4wLA=; b=Sf64xrrJPTsg7H6ymDo/Q9F6sTRF1KYqSK+ai3EkNpdOHb5DU6yHTshlSMrSNd0L00 DRTWSwREmDkZbIV9MY3BiW+By6t4/GQoXc9sNj+T1kru+urOLrg0zTDs22EhKqMgfcKG EUMY+GB6t+jLCBqS2lhypL1PHJVgr/zzlW1jmNemgiXdTxVpcqwfiTwGXcs+reDAfnV4 nYkWyhX086QhgwSWZerxxl2qaUHMtVMtZpPQhMdNQEUZ8C0WZxPhsN2rqYAMvZGUDq3L Gih99K89rmGn8OXorPwHcQJStuL+mcpQON5YsgCAV6uVl6jYkdqAx1uFO9HwjVPebZuc MyNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772744132; x=1773348932; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5idQi/OC8e82sVj6JCkzA1Vc/e1PnMuVGtyHxi+4wLA=; b=iqpxE9WZxa20nKr8j7Bg9V0+96aWBjdP0tHuovBua7zBcxDH1TOWlg2nugjUmXdi17 cptJlhiQ8fZNz3+bN+h+bifM2bJGej+thDmkDB6T1IoTe+zzc4m8Ye441AoOVcKEBoJP beZnH9aZZj0Xnlsq4UxN83UPyXjsYOQE7OCr7S+HXULwqFleqlCMRVPDbzq7a8WmVbYc BYgB+usmu+sOmtWYj5aV9KqmgM+Jkv5wegOpi5wwQH7mmaTvaqxD0G+pA1DCRhJJ/dvn 7rk+idXj24XqoEBG0yhqiVT7QHGBpv7+s7TB0pu2SYG/fT++2RlUcF6Sfj9Y8Wgy6+WB anDw== X-Gm-Message-State: AOJu0YyVFd0Ps4VZwprSqE8If+ClLnacM2NlWpOalU+5tToCoTUkEX8V 9Ih3Pl1hpSdYfklPTSY/yJUFAnRpGzOggaZQ97NeL0/eFTipIHoOM+MJGGHIrOLLJbMEq7liHla ilFLt X-Gm-Gg: ATEYQzwKKOsmifghIrtu9gZtFFBfjwaq47iopVIg8MhlwM6z2ZryW+Oetaw8q2/egpx kvUXQcRji3RPsYSCDv9E1KdKvu7REVkHhaammXgtwhVrPAGxafC+bBtCwnPo67hdzIehf77uFuM 9AyVj8Df+DVgoNA/aFDMCSB3U0H3hmjmdVr+PDHHaOvUfe4c2MeOqzOPboWhD1AFBmYNTiVpjlH cG9ASA0BEsNQ4BdRFM1AST+yHJ0tgg0sR9l00rhTmlbYB3IgWeB8RGehh0x7rhpC6BIaGWGhqeB T9bjnj7rdEtJ/2vGnYVUiH00FE2YoAzJ6KYipsGi5l3vqu4d/9JXB1DstzF+xnSIQUhaSLPFqne U+Ne6hwuPXEz3eON2lofPPU/rX+Be1gL2wps+M2ZrG9k8f5ZOMCYDyYArkEK69MwJvYunvTuLQQ lq6sPp/go6ONq4DPpnlpf6/SDYpb+rbMUoYbPcb+oiEl/srw9YLv7hs7gHgIgMXWGVBIq+PDJ7U fmTMiYWZ8dyvfg= X-Received: by 2002:a05:6a00:8599:b0:829:8a53:f2a8 with SMTP id d2e1a72fcca58-8298a5429f9mr2506240b3a.18.1772744132449; Thu, 05 Mar 2026 12:55:32 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 6/6] hw/virtio/: make all compilation units common Date: Thu, 5 Mar 2026 12:55:20 -0800 Message-ID: <20260305205520.2125218-7-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> References: <20260305205520.2125218-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::42a; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x42a.google.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @linaro.org) X-ZM-MESSAGEID: 1772744169028154100 Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Link: https://lore.kernel.org/qemu-devel/20260225041948.52929-7-philmd@lina= ro.org Signed-off-by: Pierrick Bouvier --- hw/9pfs/meson.build | 2 +- hw/block/meson.build | 4 ++-- hw/char/meson.build | 2 +- hw/net/meson.build | 2 +- hw/scsi/meson.build | 6 ++---- hw/virtio/meson.build | 12 +++++------- 6 files changed, 12 insertions(+), 16 deletions(-) diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build index 7f4d6e3a451..91b51af838f 100644 --- a/hw/9pfs/meson.build +++ b/hw/9pfs/meson.build @@ -23,4 +23,4 @@ endif fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c')) system_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss) =20 -specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device= .c')) +system_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.c= ')) diff --git a/hw/block/meson.build b/hw/block/meson.build index 43ed296cf47..d646323b82b 100644 --- a/hw/block/meson.build +++ b/hw/block/meson.build @@ -13,9 +13,9 @@ system_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('= m25p80_sfdp.c')) system_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c')) system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c')) =20 -specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) +system_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) system_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk-common= .c')) -specific_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-= blk.c')) +system_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-bl= k.c')) system_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('virtio-blk-co= mmon.c')) =20 subdir('dataplane') diff --git a/hw/char/meson.build b/hw/char/meson.build index a9e1dc26c0f..fc3d7ee506f 100644 --- a/hw/char/meson.build +++ b/hw/char/meson.build @@ -17,6 +17,7 @@ system_ss.add(when: 'CONFIG_SERIAL_MM', if_true: files('s= erial-mm.c')) system_ss.add(when: 'CONFIG_SERIAL_PCI', if_true: files('serial-pci.c')) system_ss.add(when: 'CONFIG_SERIAL_PCI_MULTI', if_true: files('serial-pci-= multi.c')) system_ss.add(when: 'CONFIG_SHAKTI_UART', if_true: files('shakti_uart.c')) +system_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-serial-bus.c')) system_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-console= .c')) system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_console.c')) system_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_uartlite.c')) @@ -39,5 +40,4 @@ system_ss.add(when: 'CONFIG_HTIF', if_true: files('riscv_= htif.c')) system_ss.add(when: 'CONFIG_GOLDFISH_TTY', if_true: files('goldfish_tty.c'= )) =20 specific_ss.add(when: 'CONFIG_TERMINAL3270', if_true: files('terminal3270.= c')) -specific_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 913eaedbc52..056c75b4c7c 100644 --- a/hw/net/meson.build +++ b/hw/net/meson.build @@ -46,7 +46,7 @@ specific_ss.add(when: 'CONFIG_PSERIES', if_true: files('s= papr_llan.c')) system_ss.add(when: 'CONFIG_XILINX_ETHLITE', if_true: files('xilinx_ethlit= e.c')) =20 system_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')) +system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-net.c')) =20 if have_vhost_net system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost_net.c'), = if_false: files('vhost_net-stub.c')) diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build index b874fe1ecdb..69fde0cf840 100644 --- a/hw/scsi/meson.build +++ b/hw/scsi/meson.build @@ -1,7 +1,6 @@ scsi_ss =3D ss.source_set() specific_scsi_ss =3D ss.source_set() virtio_scsi_ss =3D ss.source_set() -specific_virtio_scsi_ss =3D ss.source_set() =20 scsi_ss.add(files( 'emulation.c', @@ -21,10 +20,9 @@ virtio_scsi_ss.add(files('virtio-scsi-dataplane.c')) virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi.c= ')) virtio_scsi_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-u= ser-scsi.c')) =20 -specific_virtio_scsi_ss.add(files('virtio-scsi.c')) -specific_virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: fil= es('vhost-scsi-common.c')) +virtio_scsi_ss.add(files('virtio-scsi.c')) +virtio_scsi_ss.add(when: 'CONFIG_VHOST_SCSI_COMMON', if_true: files('vhost= -scsi-common.c')) =20 -specific_scsi_ss.add_all(when: 'CONFIG_VIRTIO_SCSI', if_true: specific_vir= tio_scsi_ss) scsi_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')) diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build index 20356fba812..821366f5e90 100644 --- a/hw/virtio/meson.build +++ b/hw/virtio/meson.build @@ -9,8 +9,7 @@ system_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK_COMMON', if_= true: files('vhost-vs system_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-i= ommu.c')) system_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-d= ev.c')) =20 -specific_virtio_ss =3D ss.source_set() -specific_virtio_ss.add(files('virtio.c')) +system_virtio_ss.add(files('virtio.c')) system_virtio_ss.add(files('virtio-qmp.c')) =20 if have_vhost @@ -55,10 +54,10 @@ endif system_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhos= t-user-vsock.c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng= .c')) =20 -specific_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virt= io-balloon.c')) -specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost= -user-fs.c')) -specific_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-= pmem.c')) -specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-v= sock.c')) +system_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio= -balloon.c')) +system_virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-u= ser-fs.c')) +system_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-pm= em.c')) +system_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vso= ck.c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-mem= .c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_NSM', if_true: files('virtio-nsm= .c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_NSM', if_true: [files('cbor-help= ers.c'), libcbor]) @@ -100,5 +99,4 @@ system_ss.add(when: ['CONFIG_VIRTIO_MD', 'CONFIG_VIRTIO_= PCI'], =20 system_ss.add(files('virtio-hmp-cmds.c')) =20 -specific_ss.add_all(when: 'CONFIG_VIRTIO', if_true: specific_virtio_ss) system_ss.add(when: 'CONFIG_ACPI', if_true: files('virtio-acpi.c')) --=20 2.47.3