From patchwork Sat Mar 8 23:08:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007961 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E9861C282EC for ; Sat, 8 Mar 2025 23:10:22 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Ir-0004XR-OI; Sat, 08 Mar 2025 18:09:57 -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 1tr3IQ-0004JB-2z for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:31 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3IO-00016u-Ef for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:29 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43bc48ff815so17689545e9.0 for ; Sat, 08 Mar 2025 15:09:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475366; x=1742080166; 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=Qxj25K64APubIeBFvAOvHKODmgZUFRmHVHXhc1AU81U=; b=mFm+hlkV7kVoVtihPK7yyQCerPZMyTjZi84w+PAMYPtWjnlYr/SqszWnv2yA2oPUn7 UOgOqvSe7XB/DT9JFTjzyNFGfOJ4iv2rLTZFvg16PRN48zBbzMq5uugNbAd/xlJJ6wf3 ulDm8A7Delme43J5JqeIBlmgSk979OHk5hCPjsrBxX8tFlKX2XayygZAidMLG7fa+Zcf huws9LPjdxAYNsu5/tSQ+EK1IX5ZIdCBT5T29aOSoPJHQS8TL52HwQtdG9P1fcIrnGB8 DkWKmS3QHcyZe87bhbbF9K4zzpXX/hEjfeOUE35vzegnyQAAcuz/01sgkpdkeU42Go7q yVTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475366; x=1742080166; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Qxj25K64APubIeBFvAOvHKODmgZUFRmHVHXhc1AU81U=; b=tKPG1VPgiK8bwJZNsPrwPilhRJEuJ9TwgNrhW6kuj8qt9pmI9wrlhmK92rn/JTtpWD tUazZtocvqCIrU8Rs8pCjgu4JdAeNiJ1aqXfeTpY5bUUltnsfe2GskVlhsydb6pw+T3f u8XnBEO/oWK6af+mjV0Jv7ev3LakM3GpacbOfaDau6QXlwV2+3+X18w+olBEs3y67NWP ag4gVMXEXkLWyfqCP5sT2OO/GB0j91LSMQNeuVdjEoTbJtGRyTQ2MyCAEIwqPbhpthxp CApOPAWC0ZsewLW8lbGdV0F0ddnLnU48AuSnjPPJQ32/lQszu6q8X/cuazaIkLe14XO8 dRhA== X-Gm-Message-State: AOJu0Yxz057tfVuEWxPJwn5Na0ksW+I/JnZeDV42knqWAdCkKHjkCfcU zRSGh8fkD3YZZhEJm8iBPbrPRSk36sE/IfkWkE/wkYOeHKToToYGzMOO6Jd2DFvwU6m4y8DwmJ4 dxHA= X-Gm-Gg: ASbGncu8o8us5RyA5++7r3BzIsLl/+WG+t704Kewayr/D6q3UhaSVd+ThKhajph8c6x k4P/wJ/MKUSbP6YnaimOW6anYiEMIXJA1m/biqRM+4tSNJ/4fEU217LRqXlmkyJZ04RrMqidvrf a4fQ8wWXDzrCodSMGMPQNNEDmtz6q5S0PtugNFzOk8z+Lcbt14YnukHia6O2TQ1yon4ZTKzGH0o Kx122kkdRNWpSw0KLz15jUUn07CcgUpbobYudC4keLOzxrFJ+eQIz7YrEONqoCu5qjhYmlnitA7 TyENkq5CBfjNlpFsYC/+3pv++EqAOibY3PzTAiXxOdteorAIDRtMhHn3e8QVvzVPbmohMAf6Sf8 Gec+ynlrEYplpYc8dMaE= X-Google-Smtp-Source: AGHT+IHJ0NS/FfGXlmf4jylNvapCrpoM4pkS8c5smWzHWxpj3jWgC5iW6aWgueYm5DZwov9rUe2K1w== X-Received: by 2002:a7b:ca53:0:b0:43b:dcc8:557c with SMTP id 5b1f17b1804b1-43ce4dd640fmr29552115e9.13.1741475366165; Sat, 08 Mar 2025 15:09:26 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bdd8c324csm96428385e9.12.2025.03.08.15.09.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:09:25 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 01/21] hw/vfio/common: Include missing 'system/tcg.h' header Date: Sun, 9 Mar 2025 00:08:57 +0100 Message-ID: <20250308230917.18907-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Always include necessary headers explicitly, to avoid when refactoring unrelated ones: hw/vfio/common.c:1176:45: error: implicit declaration of function ‘tcg_enabled’; 1176 | tcg_enabled() ? DIRTY_CLIENTS_ALL : | ^~~~~~~~~~~ Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/common.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 7a4010ef4ee..b1596b6bf64 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -42,6 +42,7 @@ #include "migration/misc.h" #include "migration/blocker.h" #include "migration/qemu-file.h" +#include "system/tcg.h" #include "system/tpm.h" VFIODeviceList vfio_device_list = From patchwork Sat Mar 8 23:08:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007966 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B4E6BC282EC for ; Sat, 8 Mar 2025 23:11:14 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Is-0004aS-Pu; Sat, 08 Mar 2025 18:09:58 -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 1tr3Ib-0004NQ-VX for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:43 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450: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 1tr3IW-00017x-7Y for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:40 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3913b539aabso418796f8f.2 for ; Sat, 08 Mar 2025 15:09:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475373; x=1742080173; 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=UiYDGY0x4W7ov/VJy7EJQHs//caAqbf3NrfbrKDB/Hc=; b=dmM55lIQyRTqS8et88SCourPaiveLdRnfeOW4liTwMvH67n92yigOdWvZ81JUmaePI 8ydYEh0sihO5YvVonCyrg7s5n65wDb7ODUwpVfgwkbL4Di4teSeyU4AtqW4UURI2xig4 2Shvrc9w3ne6MGKLTcdKWDlIuDEwBzL/7niRMcahNBo9ZnFL20n/uZ0PAjJITefwJIfo QHMLgZJKnSVng8WY9giadbXyoMFN2kbNeVY7Rk6klH95y9c4thliMP5YKFKmFF5WJkqq y+tzKNjQJ3kGNk03S6/fBQtdcglmj9quG9awmqJ5y1AwdZRrCc7dmcHtu/b3HN7soxOR igKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475373; x=1742080173; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UiYDGY0x4W7ov/VJy7EJQHs//caAqbf3NrfbrKDB/Hc=; b=PVsmkTRp05W7n87qDwyEWzbnCqwJ+slAGpTcTZB1If6NnTHQdr0HEgDJlOFZkwxyzm DaoWonCLvwzWZy93M2oBHEmMbLQff53fLrcKzT9HeEZVXuQAJtuKfHOy4bCMs4Nb7PLO zmF7KWwaq6GZufrL70xXYp4d/q4ognEXXqct6JTVcK/yg1Z9nOEjMe/eCYKdgsmlU419 tqnVxmjAqqYauS20f7OqDCZXNQLQwoduY80sm87xpZJDH3AUQz2mmpZcy42i5u6tZI2C xeOQF1HgIAYFzxbZXUhZfBu+UU9GZh+3He/2/cpOpdpbMnwiXMsWXZDlKYmTS6/FeG54 XW4w== X-Gm-Message-State: AOJu0YzzLhIVccjniAFIVvBPJlz7lbFUbVFtJ+O5ULbhvgNnDoBvo8Un Dj+Ay4gAVn/9KMSSziudl/Q5D/dlGq7JHAfsuEjAKMmAcmV7awEMtM3rS7fC2sV6INdVzXgBTXn BWBo= X-Gm-Gg: ASbGncu1qrTJN2ViSqAUFraOM04AJ8X5JMRJfrO6nadCWsOoXnX7fH2HTOaB72+R0RY pELEWe9QmQ6A30LYdgaX1iaZ8yew6xk+8lM3JdVFGLFt7IdUpuouM4uGSMDrrj6Ee7cwFdERhBQ s+2ysi+kMQzLSpP3yKQ1Yy1DyIG9hlBobEET7Jw+Qd+gUcUUBjXsm3lLfer5L6L5t9h/8b+yT3Y LSV8xNXeT6klc+8JU6xeeeVII+ohVEfNPr4gBHoH7dAlATnJ1nnpXkIf9lkOTr/Y/Okmf9pwfM7 gnAM4Db2WGjUhMcOg1BShpsEm+dIN8vNM7UkfnUzs01AYZ2A+v608I8RiAB+HhsTrsna0iiPQtc yaMXmgjZiJObo/jCYIl0= X-Google-Smtp-Source: AGHT+IHYMJqZoHstkmUTso6ugEbg70sSuamLLXL2p0kaDugCZceiL2gWbQnBjC91i2JahXaPJtswDA== X-Received: by 2002:a5d:5f8f:0:b0:391:2e0f:efec with SMTP id ffacd0b85a97d-39132d1faebmr5173255f8f.7.1741475373036; Sat, 08 Mar 2025 15:09:33 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfe0004sm9859574f8f.40.2025.03.08.15.09.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:09:31 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 02/21] hw/vfio/spapr: Do not include Date: Sun, 9 Mar 2025 00:08:58 +0100 Message-ID: <20250308230917.18907-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org is already include by "system/kvm.h" in the next line. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/spapr.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/hw/vfio/spapr.c b/hw/vfio/spapr.c index ad4c499eafe..9b5ad05bb1c 100644 --- a/hw/vfio/spapr.c +++ b/hw/vfio/spapr.c @@ -11,9 +11,6 @@ #include "qemu/osdep.h" #include #include -#ifdef CONFIG_KVM -#include -#endif #include "system/kvm.h" #include "exec/address-spaces.h" From patchwork Sat Mar 8 23:08:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007990 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B13A8C282EC for ; Sat, 8 Mar 2025 23:11:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Iu-0004cp-4s; Sat, 08 Mar 2025 18:10:00 -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 1tr3Id-0004Od-C2 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:44 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Ib-00018K-JD for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:43 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43bc638686eso25244365e9.1 for ; Sat, 08 Mar 2025 15:09:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475378; x=1742080178; 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=C4sOyyLdHZ94t1nFvB4a0FIi/FlAkRfDFcAkUZmK1lY=; b=MX77kb9JO7XHnzNDtbXjTLYay7TnVhI2+NWSCCkCtBPkl059vPVfZrAl7EGmF9p9wj VqFFbOKhUiOQXNOzLUYeOFUH/K/cZ5lvJ2X2xIwZ/VZfUx0+j+5Nib/HrMdMvwOwEiSF a4BWWmkAIX3zil7l6Goqe028qryJHAYhI05g75GYXVcYG2q90TcwS/Rqm9opzs46jwz4 iHdumTQ1xGvpx6+xoHity/Psbop9vXQPLVDP+pN1lIQ00lTZgWxeIAh/HIPolCdLRasj fGuo3r/3vs6Tks6mCQBNeC6T9bKPsUqNQyKdQ5JpmT1CpNSYMHsYMttM5/nLFZldKhhb 7Ykg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475378; x=1742080178; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=C4sOyyLdHZ94t1nFvB4a0FIi/FlAkRfDFcAkUZmK1lY=; b=hOhA9cD1hR997IqdJ15r9WwJrQG3A3g0TRdfnt9sXSOrVOI4S7VGbU0mKhuHBVNvod 7M+usKkVa7nDpDBmzZiEAAxZOBrq41lsHyzEryvIju+BwgAi7rb6sVzOWeLPZA7fhCQW jyIhfhVdvji2rH/30Xlbi1SUWjrkMJqTEdBYPRyYSfEp0Xjn84EWD9y0lnU4+EKwSAyy gcMjOmXncvI8mutjFQkP+TyovFZnTznzGPJPSht+HZAH8jinBv7DGEzRqagWSpVhambM tXSczN4DgydBcGgk/iQJMaOolgEZvNqzqeYFyfmUCodUmv9TGE6RyUpo44XDSM63Nn4L EhcQ== X-Gm-Message-State: AOJu0Yxu0x+MfrYAkKsekgCuM2JbdK1M0jX46ntjdt9kn9glSNpBj96U pnknGOIxlPcyE+FCE+6pRwrFxYDR3BGy55YYG5rRgxIUWJtnRS9Q2c3s7iCFxB6DWz8mg/Ipkqb rjk8= X-Gm-Gg: ASbGncsseb0OVYk13N720AHQOnHyMNa3xgwfEBqtqwOlbvxkTBVw0bOoRWXWh2+8vXc BTa8wLzWbsf83NN/FRaX0YysUfujHGl52g9/gzY9KT1SC7QvLNNUld6qZEAHax0hLrTXFas66yo 5KIPcQnbU4Xs2/axEk94uHCUK2lvoJaNMJbbToFpaGtFCbcuIi5W1/Y+Sy2c9vjNpYsB3owVfsa A1z9CVr35YocSu+fnzziwcZ26sOQDED38HHHGCQJCh9w0LjjTtSZETHUlz3Z/j29grINqeNox0s ASFnhSWH7eI14ic3BdPSkIaOLZ0ygn5uIqnK0TiVHAFY1VOVRxltAQETM2I7mKne9WtYEyMkpZv 9Q3g/I7gXR9aXJZyLQAw= X-Google-Smtp-Source: AGHT+IEw95hLpQ6L7aoWgp/bxwK/ZuUh6EVLZGte6tf2yrptaAeFh+yTGwJkxhI0K8AnTcsOHslqpg== X-Received: by 2002:a05:6000:1a86:b0:391:a74:d7e2 with SMTP id ffacd0b85a97d-3913af390eemr2446915f8f.26.1741475378455; Sat, 08 Mar 2025 15:09:38 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43cf27f8ef3sm2422605e9.11.2025.03.08.15.09.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:09:37 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 03/21] hw/vfio: Compile some common objects once Date: Sun, 9 Mar 2025 00:08:59 +0100 Message-ID: <20250308230917.18907-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Some files don't rely on any target-specific knowledge and can be compiled once: - helpers.c - container-base.c - migration.c (removing unnecessary "exec/ram_addr.h") - migration-multifd.c - cpr.c Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/migration.c | 1 - hw/vfio/meson.build | 13 ++++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c index 416643ddd69..fbff46cfc35 100644 --- a/hw/vfio/migration.c +++ b/hw/vfio/migration.c @@ -27,7 +27,6 @@ #include "qapi/error.h" #include "qapi/qapi-events-vfio.h" #include "exec/ramlist.h" -#include "exec/ram_addr.h" #include "pci.h" #include "trace.h" #include "hw/hw.h" diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 260d65febd6..8e376cfcbf8 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -1,12 +1,7 @@ vfio_ss = ss.source_set() vfio_ss.add(files( - 'helpers.c', 'common.c', - 'container-base.c', 'container.c', - 'migration.c', - 'migration-multifd.c', - 'cpr.c', )) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) vfio_ss.add(when: 'CONFIG_IOMMUFD', if_true: files( @@ -25,3 +20,11 @@ vfio_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) vfio_ss.add(when: 'CONFIG_VFIO_IGD', if_true: files('igd.c')) specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) + +system_ss.add(when: 'CONFIG_VFIO', if_true: files( + 'helpers.c', + 'container-base.c', + 'migration.c', + 'migration-multifd.c', + 'cpr.c', +)) From patchwork Sat Mar 8 23:09:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007962 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9DB5BC282EC for ; Sat, 8 Mar 2025 23:10:38 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Ir-0004Y9-NZ; Sat, 08 Mar 2025 18:09:57 -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 1tr3Ik-0004TS-LQ for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:52 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450: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 1tr3Ii-00019K-3x for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:49 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-38f2f391864so1622901f8f.3 for ; Sat, 08 Mar 2025 15:09:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475385; x=1742080185; 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=+FKsUbwnAskeU+PqgxhKuYVFxrph8Le8+j4owi767as=; b=ywijZJQKh24DAzgCtrd3i1yiX91OF8diK8ty2h8092NcfKuc3WdBAR11pU3a0mq9B+ B8SkaGDXt2TtvvsSNd2XQjJcXsei4R17GaBkbZTdTMe3wgn2fkIFCt69q+t/yDT5pG1C XC32ycLmSJFHelvi3PEDSDTNpI3shtbA2hHoKxUTP6LsCyo9fATBYEoKtsBUCVupkcA5 +3dJRkWaiX/L0Pwr57jmCxxDCmnC3YzYXFQdhduP28pQGwdl3kPdt3FAbBYMJ0fGKYpY toU8+Mq3W4+QC58Z6zEaz6amj0qHWGhcNIA5Xo3iS+LdpY4Veky0oC/Od9zfCffOJZD0 oHag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475385; x=1742080185; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+FKsUbwnAskeU+PqgxhKuYVFxrph8Le8+j4owi767as=; b=A8cHc7KmSYQjDOG4ELfPjPmPpk2GXD4lWmOCjm17SaSBirTC4mq18mTfz10fXXQhyh 6lHti9egofvIBd/ihMCb6tFKwKYT12iuiC4caTlVUMPjTEgmk1EXJ9IC+Eax+2lUGaSs S0gWQJYxZ4goGTFfhpSMP2t0FIoUspssC/uFO79298ivbNF5iUxw1drznlEbMsdaUqsC I8q2htMJi/AtSutEYsmhIisJ6TD2zlEf5CM2GDlFNahJ9pdb1LpEvH0mrUtlouvb7yvL Gq1HK+qABygH8X40aMePcpztFtA6N8nV8NwBq1rj3cTbudGSfJDfQrR+dn+EzlMy+mUn 0s3g== X-Gm-Message-State: AOJu0YzgtImZ5Q0CRY060Kg+FWI3QDK4FEwcqyiekm4pFFLsekHZGxmU E6MJo3aAMmYrV26vbNqPXMLfzfZMk7N+b3E/UqHPARABZ3kVllUV/58vwysyxy9472t9OEYVMF+ tNyg= X-Gm-Gg: ASbGnctwht5YaRDcPmRdvOJp3T8jm7gpKsf1jJsqVPuconfqv+496Dhs9yxBR/3bMPc LydMYiniR/rj0zV3LORRGD/njSzBlggyPQK7sqXuSVYpHnLZ/OLXbE/N3O3L90MU7xbl9IR9uP0 ujyGGQTflP2RYHs1aqCgCN9lIxWfWqXIbYJ8sssI2CV34ULIb44gc93a0qWAyVcaxDZb3UgqPcH I0vEapyCma5aFWR7mxtMt6uchUbWX0FxS8ndz1H44IxbD7vUrzMvB8RglG6zg4xK44s8oHkCyIq NPdWKr6nxrqDy36YOvRqJvji4mLMzDO63TQsY5ylW4b9hMqBZNA7B8YazHkCgYf/nKmHmt85qRD 69TPBdM7QW+OwxF7uGRU= X-Google-Smtp-Source: AGHT+IHZofeaDr/4fSpqwbHx3ixE1QtBXdjQPdOMSMcK4b64SZHfONsqYlwQPdKO1yfi+jQf0ZSJlA== X-Received: by 2002:a05:6000:144d:b0:391:2e58:f085 with SMTP id ffacd0b85a97d-39132dab192mr5125015f8f.54.1741475385293; Sat, 08 Mar 2025 15:09:45 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfde7sm10273156f8f.32.2025.03.08.15.09.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:09:44 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 04/21] hw/vfio: Compile more objects once Date: Sun, 9 Mar 2025 00:09:00 +0100 Message-ID: <20250308230917.18907-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org These files depend on the VFIO symbol in their Kconfig definition. They don't rely on target specific definitions, move them to system_ss[] to build them once. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 8e376cfcbf8..784eae4b559 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -14,13 +14,13 @@ vfio_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( )) vfio_ss.add(when: 'CONFIG_VFIO_CCW', if_true: files('ccw.c')) vfio_ss.add(when: 'CONFIG_VFIO_PLATFORM', if_true: files('platform.c')) -vfio_ss.add(when: 'CONFIG_VFIO_XGMAC', if_true: files('calxeda-xgmac.c')) -vfio_ss.add(when: 'CONFIG_VFIO_AMD_XGBE', if_true: files('amd-xgbe.c')) vfio_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) vfio_ss.add(when: 'CONFIG_VFIO_IGD', if_true: files('igd.c')) specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) +system_ss.add(when: 'CONFIG_VFIO_XGMAC', if_true: files('calxeda-xgmac.c')) +system_ss.add(when: 'CONFIG_VFIO_AMD_XGBE', if_true: files('amd-xgbe.c')) system_ss.add(when: 'CONFIG_VFIO', if_true: files( 'helpers.c', 'container-base.c', From patchwork Sat Mar 8 23:09:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007988 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1ACB9C28B25 for ; Sat, 8 Mar 2025 23:11:33 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Iv-0004fG-U6; Sat, 08 Mar 2025 18:10:02 -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 1tr3Ip-0004VY-OB for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:55 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3In-0001AH-HC for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:09:55 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-390fdaf2897so2966833f8f.0 for ; Sat, 08 Mar 2025 15:09:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475391; x=1742080191; 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=mLqJv5GFiMdqC5SzSdRzdt+1VdUICrsHDhSI3tGgwd0=; b=gZuMS1cf8zXc0JgaVbr8P2eWobGvs0LK1dQE3uKqLBOYlBNx/NOFwsNTjDWubL+CWg PQ/+HQPcrja/ptp8ljbBJhSJvU349Fr6VUdujF8SDn2LLa/G9Qi9DPwscqAZy0xnaVJH v/7xw6EPIbU+3Wvbn5pJ4od4AsSP9QIINp420pL7KTClDhfDGyZEkPguLWnnFH95yJr9 Fuvjx34Q9uahXMPhaFs05NZFBczHGluVb3ZQH9pp7iYllCFLifIEkShHv5hU3CQivs+2 ygQiVaAWybihJJoXZoD++jJGPisx0/cS8scMh7a8own1uv/LicWz8a3RvJZaCE6fHU5H eRKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475391; x=1742080191; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mLqJv5GFiMdqC5SzSdRzdt+1VdUICrsHDhSI3tGgwd0=; b=JM+SPgD5gesCzZjnxHnx0Joqg2bzXH+BpxleYf2nHlWFSHMIdk/JgTHn12H61RqlUB IXXXx2aJx0ZMrlgSGhtrTNiz0hPK81la40fD6+QtC3I8IO4dnFbJK4vX6ZQVqQWrDHfT MuJZHni5FhvfvrJMvMr/taUcGYZ5C8QIB1FF0Ex4MQ2HJN8o/CVRmTwdK2bfLuRg3AUt 6eKOzqhSye4cymDRPqijLDeo8wQiDNb7cO9u0uAkPcvybDyLwoQrh5rXmXxRfmX4ORBK 8WeU/UE/13n520/ccOt/ibrfsmZ+O2hiE3H9yCBJjxZWqjRmMgC3kWCvh5r9TjpGIczJ jKTA== X-Gm-Message-State: AOJu0YyNzw/YO7hVpgP5S7hjkrbS8cjgOCu9uV1dyyrt1CU+/N7wnM9S pWnMUCYMk09ZFAu67soYXk20fBcBmomU7DgXWHMdbqG+VGjySNfgsM08NZgujS5JpTXiKQDGP+l bX1I= X-Gm-Gg: ASbGncuGWseiBTH89POq11cdmCuc3q/HTrteKITd7Wz8luQBlX1aQQpODIuNtirUFWw Lx7z5E2kiVT2NTr4+o15gO5iIw8OcppMgVPYjjFn+RHxJh2vASDkTiavZWaztW0UoT4aGci+Zvo c1gvmoatsmKDYiL6ntTx/0ap/oWC3tYb6X6rjLx8BQjkLTVvC+QKUj5ZQAIEOMs5mKk31FgDAzT nHvOkw+uJytzNv9cAuv8Q1qljYlhF2T4SUmKE1LBJy9TALL4/UlEyd1RL7dmWbGbfWGfsHslJGk Ti5r6wfVQG0SkdNbEKOae/jG+B3zuhkwLQloaMt4Bmwjy2qgtWybgTB6jWItFQk1ZTuhDYIieDC 3pidYxmoecCzn68d+vgQ= X-Google-Smtp-Source: AGHT+IFoLK+xqCwbE74i/YFIgsjJ7Nm/q7qXKgEmlP4DidAEt6Fl8aqw1QkG8mrCX5ar2z4veKXWag== X-Received: by 2002:a5d:648f:0:b0:38c:2745:2df3 with SMTP id ffacd0b85a97d-39132da24bfmr7412108f8f.37.1741475391309; Sat, 08 Mar 2025 15:09:51 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c102e01sm10299396f8f.93.2025.03.08.15.09.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:09:50 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 05/21] hw/vfio: Compile iommufd.c once Date: Sun, 9 Mar 2025 00:09:01 +0100 Message-ID: <20250308230917.18907-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Removing unused "exec/ram_addr.h" header allow to compile iommufd.c once for all targets. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/iommufd.c | 1 - hw/vfio/meson.build | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index df61edffc08..42c8412bbf5 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -25,7 +25,6 @@ #include "qemu/cutils.h" #include "qemu/chardev_open.h" #include "pci.h" -#include "exec/ram_addr.h" static int iommufd_cdev_map(const VFIOContainerBase *bcontainer, hwaddr iova, ram_addr_t size, void *vaddr, bool readonly) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 784eae4b559..5c9ec7e8971 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -4,9 +4,6 @@ vfio_ss.add(files( 'container.c', )) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) -vfio_ss.add(when: 'CONFIG_IOMMUFD', if_true: files( - 'iommufd.c', -)) vfio_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( 'display.c', 'pci-quirks.c', @@ -28,3 +25,6 @@ system_ss.add(when: 'CONFIG_VFIO', if_true: files( 'migration-multifd.c', 'cpr.c', )) +system_ss.add(when: ['CONFIG_VFIO', 'CONFIG_IOMMUFD'], if_true: files( + 'iommufd.c', +)) From patchwork Sat Mar 8 23:09:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007992 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 39552C28B25 for ; Sat, 8 Mar 2025 23:11:56 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Iy-0004hX-Ig; Sat, 08 Mar 2025 18:10: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 1tr3Iv-0004eV-Hv for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:01 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Is-0001BC-Qx for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:01 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-43bdc607c3fso17911565e9.3 for ; Sat, 08 Mar 2025 15:09:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475397; x=1742080197; 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=QNAZPNsyTlqo2tLPWvhBvh59TFVcvzQjUjnLojvYJaQ=; b=mqKI2Knpe9laQpZ9s7MYWyc8Q/lXhcgswgJ1O7fCC9GhbLVGX4dvV2q0Pvwol9gO6s oHirfdpAIb6hVbHhIxoT3pDyLddV3P0PpRF5ejSofKs0WRThP9tENywhIbI2nlJB9B4Y tjghfHK5BfVyhHfKCzgyWirNXeFraKvKVDGFs3o/m7hIvMHInZOV2RIpc3R3I74r3eQO kxr4Tf9SYq0ZVIgvieMJ2tX1Okn1FhYSsachTCjPi5OZ6paua2CYHvmoP2qiu6s4KC5J g3LBRQgPAutATRMO2Jov6RfNiGFJmZvO5ZFrCZ5SpF7079W+dKZ875CQEI87g1eu0u9c y3sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475397; x=1742080197; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QNAZPNsyTlqo2tLPWvhBvh59TFVcvzQjUjnLojvYJaQ=; b=EsBMblC/Kw0XgvT1pq9yownGe1WksYcjajcZ+v+2AOkH6SOZh3xVxfAUqHj87gH2Bu VcsE3nUXyTuDsQ34bCC9iXUY0KL4gAn4rRH0hK63UPQpt8n/t88DAaLNLL0YPLUqIWEm XUX5lyUFLs1ITS6YzMe6c+d6+rdsrBlfjexVBQZFZy/fycKXGFTKA98FNwS52JuclXyR X098tZgmgiGQN1fcqAfxMW60hnVSpd+J8D/trUC5Ad/c3eB/qSZ4+z0S7OKCX7s97had 701zowFBik/ZdYAu60+SVQmqHhsvR78qv5QHJWZUsHtD1Y5KcfTUxGl4llDW4z105C/7 ultw== X-Gm-Message-State: AOJu0YxyEdxJKqURI1aucEl7ZMelmyMBNYF06VJJgVgw4Bwwuo/LsJZO 3lND5zHg3cvkVIKtauq075TJ9tEu48HWGsGscDe1SJ7QOopkl4rTMCXYAlwoyxEBBLj1ROIJNRG qtTg= X-Gm-Gg: ASbGncv1SeMcz2cQAeY4d1blRdeN9xLBDxfy3Eq/eMHijVa6T79Ri2Lu6wdGO+Pg5tf i039DKQIxjDBQkM5tbhAcCfrJSYEmtYeibE44Y21Udnr+aqCgwbD9zd8+cClsJ+rHGLIdHy5+U3 cYcQ3DEApRSP4fnea1Sz90IId/WJf+PCla82GQLpjlGmF5GBkn2ZzUXfAww2Xw+GauMxpGM4Amn k+fHZdzukCjVfbTh0bqARvK9Q3py7W+SOwhIfh7kejBGHgM8RbiQsU2mJ2psovaErPp/QvraFy6 nAXH76UyA84/4cyvhl7yUxhNw+L+GgI9PyMIP3X6ZHAPN3m1PcdjF8I82WJCZGS8Nj3Gc7t3HUF 85WXkr9oo6EddtnQvynU= X-Google-Smtp-Source: AGHT+IG8MQrKfOJU0WoQHCAOd6Oq6wQcj1JZv9hwm7SxDKuTpUWDCbRgEKRZFOWkkDK4Q+3TnMf+nw== X-Received: by 2002:adf:a1c7:0:b0:391:4095:49b7 with SMTP id ffacd0b85a97d-39140954a39mr1073805f8f.25.1741475396652; Sat, 08 Mar 2025 15:09:56 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bd426c33asm132242055e9.3.2025.03.08.15.09.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:09:56 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 06/21] system: Declare qemu_[min/max]rampagesize() in 'system/hostmem.h' Date: Sun, 9 Mar 2025 00:09:02 +0100 Message-ID: <20250308230917.18907-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Both qemu_minrampagesize() and qemu_maxrampagesize() are related to host memory backends, having the following call stack: qemu_minrampagesize() -> find_min_backend_pagesize() -> object_dynamic_cast(obj, TYPE_MEMORY_BACKEND) qemu_maxrampagesize() -> find_max_backend_pagesize() -> object_dynamic_cast(obj, TYPE_MEMORY_BACKEND) Having TYPE_MEMORY_BACKEND defined in "system/hostmem.h": include/system/hostmem.h:23:#define TYPE_MEMORY_BACKEND "memory-backend" Move their prototype declaration to "system/hostmem.h". Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier --- include/exec/ram_addr.h | 3 --- include/system/hostmem.h | 3 +++ hw/ppc/spapr_caps.c | 1 + hw/s390x/s390-virtio-ccw.c | 1 + hw/vfio/spapr.c | 1 + 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index 94bb3ccbe42..ccc8df561af 100644 --- a/include/exec/ram_addr.h +++ b/include/exec/ram_addr.h @@ -101,9 +101,6 @@ static inline unsigned long int ramblock_recv_bitmap_offset(void *host_addr, bool ramblock_is_pmem(RAMBlock *rb); -long qemu_minrampagesize(void); -long qemu_maxrampagesize(void); - /** * qemu_ram_alloc_from_file, * qemu_ram_alloc_from_fd: Allocate a ram block from the specified backing diff --git a/include/system/hostmem.h b/include/system/hostmem.h index 5c21ca55c01..62642e602ca 100644 --- a/include/system/hostmem.h +++ b/include/system/hostmem.h @@ -93,4 +93,7 @@ bool host_memory_backend_is_mapped(HostMemoryBackend *backend); size_t host_memory_backend_pagesize(HostMemoryBackend *memdev); char *host_memory_backend_get_name(HostMemoryBackend *backend); +long qemu_minrampagesize(void); +long qemu_maxrampagesize(void); + #endif diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index 904bff87ce1..9e53d0c1fd1 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -34,6 +34,7 @@ #include "kvm_ppc.h" #include "migration/vmstate.h" #include "system/tcg.h" +#include "system/hostmem.h" #include "hw/ppc/spapr.h" diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 51ae0c133d8..1261d93b7ce 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -41,6 +41,7 @@ #include "hw/s390x/tod.h" #include "system/system.h" #include "system/cpus.h" +#include "system/hostmem.h" #include "target/s390x/kvm/pv.h" #include "migration/blocker.h" #include "qapi/visitor.h" diff --git a/hw/vfio/spapr.c b/hw/vfio/spapr.c index 9b5ad05bb1c..1a5d1611f2c 100644 --- a/hw/vfio/spapr.c +++ b/hw/vfio/spapr.c @@ -12,6 +12,7 @@ #include #include #include "system/kvm.h" +#include "system/hostmem.h" #include "exec/address-spaces.h" #include "hw/vfio/vfio-common.h" From patchwork Sat Mar 8 23:09:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007997 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 808B9C282EC for ; Sat, 8 Mar 2025 23:13:32 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3J3-0004tK-JV; Sat, 08 Mar 2025 18:10:09 -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 1tr3J1-0004ow-2u for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:07 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Iy-0001DW-0I for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:06 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43690d4605dso17975845e9.0 for ; Sat, 08 Mar 2025 15:10:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475402; x=1742080202; 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=+FGFHz50rlwowjsXAPUzEIGbHAi/y/Zg2M+gRe6JQAc=; b=XcbKvm+m277ZCWjkxQ7l8GTPTe6BAjpxbpC2za8Kp+oLcNCPaeqAUAPJIAc3f6P3fb Fd+e+xHtpEyf89KT9pDTSQsI/zf8whlxRuVXphdSsSiGr/7fjkrbN0uqyBGHjtR6rTWP LLxIodAS+VXq2hrPQjkQk3VGuzV73E9YQapEFt3FKzRfZLwVbStestCUOqm8TY6uCO5k mp1kFcfJuH1jboteyEwRVHgn28PEUny2PzKrK4toTgZJIqyTcx1UpWIntLdccu3+tk4U p8+CMI2hMp/HDEDHt/QH4nxZ8bGPkPR6Ak4uF9lUsVRVElh0+uqmZktIu2oqjM2h4giP 4cUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475402; x=1742080202; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+FGFHz50rlwowjsXAPUzEIGbHAi/y/Zg2M+gRe6JQAc=; b=Lak/iXpT3uS3nrEARxEq8I/OsOapkzq1HtbDXU9Au+i1phzlxiCWafG1xa8WU2Qxqu FUq4H5fKwvYZhjTqMeI9kC0d+iCNlvIG6CDACqw7aGSyGzsg5wisG1xnu/ODFxQACY5F dDb9J4uMKUSNzlc/QxSL74LT1BjoYiMoYyNi55TYkf4G1Rl92nU6JmAn6LjncUN6qqO9 TG24ha+/Oq9FocX/oNIlWQ/QZvMEodcRUXd+ecjRBOShtc13RvHiCIgkJK+E/I04Xpqw Kf0EbKMqOV52HyGV8ZmnsKtUKxF2OC7ViA33G1HMox7vhrjhpltZ/LD2aTmY2lZK3pJW LdaQ== X-Gm-Message-State: AOJu0YwWb3DWNBGKZOdnIQX5cIa39kQMDXJ2mUHI/LylydpNJL/S7i0v ILcCc1II5+OIBSmK9Gg+4cyiGWv3bJEF0HROlEUCcsd5N5pfeSdgPSISJMlCmHG1RBya0Oa8wlJ F368= X-Gm-Gg: ASbGncu9a/J15vnxh3DinSq0mPP9OjSoAkvWL6v37I3Hq3Tv59+e/ooNGR2Yimo8jT+ InqY2jkHDn9tdjrM34mNNijqJTgtU7BJOXhiCU4jwPUWeR0ZsVE1OQB7eaYNhBEJizG7BGk7ls1 YYCDA2kmvHBUkWO0heMz2PFxXLIVlbxhg7BeBdpYhci/M7ZhMw8Fw5aoCbUxoRw0F92q20DaWiB OhW3KxzbwzI9mryxbPaTi6b0gFtCCqDuSYAUehwCLbQ2j8cjJ6Tqld0KakFT9qtiv02etP+njpF O3S5BFq3rwQpmqgvR5e9dCbpRCKvp6fXBA/CyTEda4NZL3FcthfagVS8cbbtLTefYW+aQ0hdzgN cSucB7PtOdvUtjR44G2EecwQpaFj9eg== X-Google-Smtp-Source: AGHT+IGIv7r4JVSN4fyIj3wYPXDmIoomS2e7/C3qLiVhv6Ql0EEJlV/5Due87/IgHr0O7LUJ20Gsaw== X-Received: by 2002:a05:600c:4fce:b0:439:a1ad:6851 with SMTP id 5b1f17b1804b1-43cdc7b6dccmr41459045e9.23.1741475401963; Sat, 08 Mar 2025 15:10:01 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bdd8de4ffsm97892025e9.24.2025.03.08.15.10.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:01 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 07/21] hw/vfio: Compile display.c once Date: Sun, 9 Mar 2025 00:09:03 +0100 Message-ID: <20250308230917.18907-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org display.c doesn't rely on target specific definitions, move it to system_ss[] to build it once. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 5c9ec7e8971..a8939c83865 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -5,7 +5,6 @@ vfio_ss.add(files( )) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) vfio_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( - 'display.c', 'pci-quirks.c', 'pci.c', )) @@ -28,3 +27,6 @@ system_ss.add(when: 'CONFIG_VFIO', if_true: files( system_ss.add(when: ['CONFIG_VFIO', 'CONFIG_IOMMUFD'], if_true: files( 'iommufd.c', )) +system_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( + 'display.c', +)) From patchwork Sat Mar 8 23:09:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007963 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C935FC28B2E for ; Sat, 8 Mar 2025 23:10:39 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3J9-0005Ep-R1; Sat, 08 Mar 2025 18:10:16 -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 1tr3J8-00058J-2A for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:14 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3J4-0001PP-NG for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:13 -0500 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-43948021a45so26055065e9.1 for ; Sat, 08 Mar 2025 15:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475409; x=1742080209; 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=lfxwOIZGSthGrPYmV9+XOb1nB6O0gzLqIcndrzluicE=; b=demB/umAMYnLYGxk0+xkQpkajuZQBHlOyuixnX286PgQ3JoelcZV72M7Z23W/K12Zu sIlGRBhhk1UoCWJLh0wFZcbcsYkUVc9H4vVDf3NKzf9b5Tt2JvBQOXhlizE/bQTF3BF3 YieV0cZvGPv7sqlgb0GQ04UBFeDiz/dj//f+H6FG3PuuXihR9rzwggz4mNVRdLb5ysc2 HQ7N535IUKm3Yye3fqMUE9lvmTG3H3VIjvSPCYYg+eayNbbtqc9VlU5CjBamnWLUAlcM HQEf7sV5rQ5KFTRB04nPakR/zkl8aML62MOWGiOB6iX5fpAwe/h9SqDERaBX0nC/t/3p so3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475409; x=1742080209; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lfxwOIZGSthGrPYmV9+XOb1nB6O0gzLqIcndrzluicE=; b=UvNOrJCz1P516gYi/LbLR27xBsbF3tauRxCYFm2S6CtjhgTX2pedExOgaQ1bFnmcS2 gNRXmPoL5i1uM3lyQ0ZA1xpYIjkC6NRdpbzF9t0fwLdAlwcAuhcEhYQ0r3R9OWfzOg4r zTVSfhgJ09ABJ3JmCGhmWsQtr1NoWnDCgCcKYj7woUda84zXW2cOx67o56JOQ3qz5Xhp +ankHdTEVOjh/jd0FjRTFWRabNCiA1EKXXEAexNIFdoNg86gkuNOFT1wRT4CVAxUfx7b dfu+usNGQ/K8BRjOEV3KtOLyr6AFYepqdXwdBlTXpC1UWKfmYbzQhN4vLucqVSpbqBHB mBJQ== X-Gm-Message-State: AOJu0YzBBj0rMUZP9qwCkJDvOBTkzfO9u7ELN3jijrzIjfo2sm4VLKgl /Mf63hPnXYsamu6xCs75ob3/2RVG4nPMN011aid203I6IiM0TXKK+KjuUO4DfYC17/J4UOsF9vE BI6I= X-Gm-Gg: ASbGncv1gMyoQj/49QPv9EyXhJxUnvzhP4AQ9VSTLDlAlWDzAo7UHLTOyW76gDrCMQP jOYvZNU2g/1PvKsLbUAOhb9IbCIUw5X3CtWk2v88FODCvjzW6jz8X3QhoGKaXw962EgpnQOBgne vQX5Sqg2QQbAP4iVQ7BB5yKMR9NdSrgBFtVSaeOEGmrSfVOVRGWQHRRbRjN7eezOBzvtxEJO3J8 noaeH+YIMP4CIKECwC5ykQZF3xNHXIqi3BIm5Fm9Bnf4hiBcoL13aGdOENip1NiI2ibzQF1dXQU 0ab1g5sK4CVDIe49XlBhs3e3+CugH5QIOZtTEkw8DYtvm34HfMGpdYveJtvAnZrfkedj7eiN5O8 BCACTzL9ail2SV8yWAIg= X-Google-Smtp-Source: AGHT+IEqYFt3ONWw2rS9Wwh6tBBRqOLce/1aiPLRA7IaFr0DAlK7OI2TQrPavd/72gpTyJnokKbccA== X-Received: by 2002:a05:6000:1a8f:b0:390:f552:d295 with SMTP id ffacd0b85a97d-39132dd8711mr5569888f8f.53.1741475408786; Sat, 08 Mar 2025 15:10:08 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c0e3250sm10154532f8f.61.2025.03.08.15.10.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:07 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 08/21] system/kvm: Expose kvm_irqchip_[add, remove]_change_notifier() Date: Sun, 9 Mar 2025 00:09:04 +0100 Message-ID: <20250308230917.18907-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Currently kvm_irqchip_add_irqfd_notifier() and kvm_irqchip_remove_irqfd_notifier() are only declared on target specific code. There is not particular reason to, as their prototypes don't use anything target related. Move their declaration with common prototypes, otherwise the next commit would trigger: hw/vfio/pci.c: In function ‘vfio_realize’: hw/vfio/pci.c:3178:9: error: implicit declaration of function ‘kvm_irqchip_add_change_notifier’ 3178 | kvm_irqchip_add_change_notifier(&vdev->irqchip_change_notifier); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | kvm_irqchip_add_irqfd_notifier hw/vfio/pci.c:3236:9: error: implicit declaration of function ‘kvm_irqchip_remove_change_notifier’ 3236 | kvm_irqchip_remove_change_notifier(&vdev->irqchip_change_notifier); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | kvm_irqchip_remove_irqfd_notifier Reviewed-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/system/kvm.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/system/kvm.h b/include/system/kvm.h index ab17c09a551..75673fb794e 100644 --- a/include/system/kvm.h +++ b/include/system/kvm.h @@ -412,10 +412,6 @@ int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg); void kvm_irqchip_add_irq_route(KVMState *s, int gsi, int irqchip, int pin); -void kvm_irqchip_add_change_notifier(Notifier *n); -void kvm_irqchip_remove_change_notifier(Notifier *n); -void kvm_irqchip_change_notify(void); - struct kvm_guest_debug; struct kvm_debug_exit_arch; @@ -517,6 +513,10 @@ void kvm_irqchip_release_virq(KVMState *s, int virq); void kvm_add_routing_entry(KVMState *s, struct kvm_irq_routing_entry *entry); +void kvm_irqchip_add_change_notifier(Notifier *n); +void kvm_irqchip_remove_change_notifier(Notifier *n); +void kvm_irqchip_change_notify(void); + int kvm_irqchip_add_irqfd_notifier_gsi(KVMState *s, EventNotifier *n, EventNotifier *rn, int virq); int kvm_irqchip_remove_irqfd_notifier_gsi(KVMState *s, EventNotifier *n, From patchwork Sat Mar 8 23:09:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007965 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CCD36C28B25 for ; Sat, 8 Mar 2025 23:10:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3JF-0005Z0-By; Sat, 08 Mar 2025 18:10:22 -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 1tr3JC-0005Rn-R1 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:18 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3J9-0001QS-V0 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:18 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-43948021a45so26055325e9.1 for ; Sat, 08 Mar 2025 15:10:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475414; x=1742080214; 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=UEvdVMyvXjdezRQS+46yXb37w36/326vMxQlDhu7A50=; b=Bh6xbQk1zoJDHOgVuciI18zYZE3pJ4JkZlC3WxJ8hIKogV6NL21g6BtrWDJbnx+AZj q6P9h6v1R6REMpbIfV5EClsQTc3dTymlVyFr2+rEEZX2UO9GjUIUGqg+uKkdOg0+R4s3 25bMgcNIMO/WjLG8/Vv5FE1/QhCY5yArP6yM9y0+o67kpc/qP/+KWTWb7MrcEoem24Xa EHCbmYFUoZFtyj/ujq/GHamzwYJAWIG0QUMeAWUet9jReD/CCNVFE+ADE0nqElUN4c4G KjSIqB5GZWDsaVRxjaDBodeykohUXFOrr+B5tt935typSxFOLQBBHcqVifKYdY3AkZVE d0dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475414; x=1742080214; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UEvdVMyvXjdezRQS+46yXb37w36/326vMxQlDhu7A50=; b=pnu86qXnSbD9Za7BbjStygrP1cg8QsB08Qi0FR7QUKyF54hLQq9NT4WdG+Jm/4fG2k dKtRGd3ndQ+7mcO974IxXbHdBV1sZVA1FSitoQCkjzKAXK2gEba4fpM741v/tmERiypI XSKw3o3YSEGH+RlXzgnHrNPSEwYX8yE5MT0IFjYBrOYp2Kqg5nvPJgZQmub1luOkbjUL sZQbrnryFJFYuuO44VuQWudyfhXZuRK+uaL5c9HW1e6oK1LngwKUFTkWaiwPEmIELRjq SYKUH4EGF//N90fZSjTys/V1QoNY6olbMyFdKoB3PJD1LZkPMa7N4dCE1aXYju93kNtZ NHNA== X-Gm-Message-State: AOJu0YzqlC4NPOtKfpFOIv78i8/Y/yqcye4EuZox2mJnywNc+xA6nBK9 0JoTEEopjULCKlcDnN/LXBd26nbCSe4VL1NlHe73pFWGWfobuQsPJ2Aa3IXJTUmAvT52+K9ko/D mN8g= X-Gm-Gg: ASbGnctw2ChRskgo9X+rEbVcl5EQout/jBpyKpVZMHNkMd1xKm/uLm43tfP5AKk3tgj s7abEIoGR2d7UDIvBAUY+hcOfsW/OC0uGmEtXKU0s5qdHrXNdqm3G9Z4vKoizNZhFgS78wFLp1H FQIrcibE33pCzN/XNcxlfE3anmrKQb+8xzsfOkzf1gT5LExO0pIPIblkTy+UMfjJu4FElquQ7CI +wYoz3ulxtUAg7yqQe9bAi8gu1+GdJIsWB8VNy6zeW3dFLfQNZYFvexxqyZ8frm/g4b/dL1KMft M4TydyKjqB2fS2Avo8TdNh0UCSB8LaONcltiSBswEFhdtBacKBK5r8tyDhhGWLV8FkRW8ayL5pQ PSBasEYSd8nHRnAagO9w= X-Google-Smtp-Source: AGHT+IHU+xQMgt3dsdiNnJgEOhNSs6YqxwcUDocahOsxR/CmDr32kZwcNq5kvICgYKsd1qnYF/NWOQ== X-Received: by 2002:a05:600c:35d1:b0:439:967b:46fc with SMTP id 5b1f17b1804b1-43c601d9167mr53509045e9.8.1741475414122; Sat, 08 Mar 2025 15:10:14 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ceef2fb8dsm14915575e9.18.2025.03.08.15.10.12 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:13 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 09/21] hw/vfio/pci: Convert CONFIG_KVM check to runtime one Date: Sun, 9 Mar 2025 00:09:05 +0100 Message-ID: <20250308230917.18907-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Use the runtime kvm_enabled() helper to check whether KVM is available or not. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater --- hw/vfio/pci.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index fdbc15885d4..9872884ff8a 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -118,8 +118,13 @@ static void vfio_intx_eoi(VFIODevice *vbasedev) static bool vfio_intx_enable_kvm(VFIOPCIDevice *vdev, Error **errp) { -#ifdef CONFIG_KVM - int irq_fd = event_notifier_get_fd(&vdev->intx.interrupt); + int irq_fd; + + if (!kvm_enabled()) { + return true; + } + + irq_fd = event_notifier_get_fd(&vdev->intx.interrupt); if (vdev->no_kvm_intx || !kvm_irqfds_enabled() || vdev->intx.route.mode != PCI_INTX_ENABLED || @@ -171,16 +176,13 @@ fail_irqfd: fail: qemu_set_fd_handler(irq_fd, vfio_intx_interrupt, NULL, vdev); vfio_unmask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX); + return false; -#else - return true; -#endif } static void vfio_intx_disable_kvm(VFIOPCIDevice *vdev) { -#ifdef CONFIG_KVM - if (!vdev->intx.kvm_accel) { + if (!kvm_enabled() || !vdev->intx.kvm_accel) { return; } @@ -211,7 +213,6 @@ static void vfio_intx_disable_kvm(VFIOPCIDevice *vdev) vfio_unmask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX); trace_vfio_intx_disable_kvm(vdev->vbasedev.name); -#endif } static void vfio_intx_update(VFIOPCIDevice *vdev, PCIINTxRoute *route) @@ -278,7 +279,6 @@ static bool vfio_intx_enable(VFIOPCIDevice *vdev, Error **errp) vdev->intx.pin = pin - 1; /* Pin A (1) -> irq[0] */ pci_config_set_interrupt_pin(vdev->pdev.config, pin); -#ifdef CONFIG_KVM /* * Only conditional to avoid generating error messages on platforms * where we won't actually use the result anyway. @@ -287,7 +287,6 @@ static bool vfio_intx_enable(VFIOPCIDevice *vdev, Error **errp) vdev->intx.route = pci_device_route_intx_to_irq(&vdev->pdev, vdev->intx.pin); } -#endif ret = event_notifier_init(&vdev->intx.interrupt, 0); if (ret) { From patchwork Sat Mar 8 23:09:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007991 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 84134C28B2E for ; Sat, 8 Mar 2025 23:11:54 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3JM-0005wb-TE; Sat, 08 Mar 2025 18:10:29 -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 1tr3JJ-0005kr-4f for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:25 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450: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 1tr3JF-0001Rw-SR for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:24 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-390edaee0cfso2129458f8f.2 for ; Sat, 08 Mar 2025 15:10:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475420; x=1742080220; 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=GJXNBj0mVkk7ow8GecZF5txwITRLIlUvrzgwdEPrsZI=; b=N1bf1Ba+UwLnU5tNjq+e9qNOcqglkDcqpdZz2dN96O8aDkjGnUIhM0xFZfOs0ac630 cMUy5qJ4OV1NFcs3y4MbDCyRqRWms8AMDP66/jODmSh37eHum8IkVYSzg4utkEkY1rtz RGngwS1NP7EK4OvUE2QN2ztf4q32TKRN+kGQoGzfieyfRqimwjDEj5gYthWulrGedhCK Hg3cDAJK/mH/CqLZLSspr/VsoxZJAR8F4VsruFwv0QssgilqcUmmQO4km7DbIWW8eRiF uvyqZq6PXpsvAdHoTiHqgO1g3NIrPuwIubxtRIQbGKs0RjTNpqYV9k3jKmdSIlHfzO91 pVJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475420; x=1742080220; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GJXNBj0mVkk7ow8GecZF5txwITRLIlUvrzgwdEPrsZI=; b=k6uoYDekB+IZqeGXS0wdTi6g1F7QmzcDEdPsFhL7SUPCH/zvMxPnmO09W/Byv36YEi SgfCFhWtqu3BgwtH8Z3/GBgFAOVvK4haaZKojnsLkyB5oJiT1i2bS/bZXye9ru/vzDiW TAdhynN2IVBt9k+lA1je1B9iVbiKsjkfwif3Bk1RXgEB2Tji8yFkEaKaSbNl17qiNhtg 3WUoPH305h4dFBUtNEcaXqoo0SXaPuTNyTDQuiKRjw+PYRPB3yZQFJMdO3rGb52ehGck e01rtNymM2ZpbHljWOQDx3xbhZM2CNUqWjBiONGYVl8IyNyMA2cJQ5AIHa+O5JXYWYgt adXQ== X-Gm-Message-State: AOJu0YwaY6VLT73V42ngc0PwADARCece+yR9TgPXgqNM2kY0UtUI7gos +ti29rXyogg1qml2G9UyCPwaexMFOkkjSVx/ScaU8MIJ5yv0ck2B2OUAXz3wYR74gkiXViy0pH9 qLZs= X-Gm-Gg: ASbGnctkz1IfTdEoIL9br/kjLZF7vPVDRTwOI6tJWpNXkIEKFU8a9iFTGXD+WwSn2Kw a+bcl50g62DCiur/2dq60vF/fxDxF6k8yLumMVFJcT5QGCUCfkCkLSL6ZavJfSmtQ8jrE+mPj0m 1UAV6ZPB0ZpmWDEsPNO9H2H138WM8iHi3Kti1wUja8JrrcVyKXEYKL8IUMjfKEvyUOucWwg76jB 7zoDwRVW2POay323JkmFz13+3IiGqGMQ4roJo0GLWQUZQGctbrnhT6ythpN0LNkRaVaTXexnlu2 VY9g0830tRlqs0lJQ4/PeoX/lpKh8j9Wfr4aG8TZhDt7bZtaA1QotKT0IHOkqa443elfaRtxjIt VEptZE+EApfzT07K9Bti6F7oaX31l/g== X-Google-Smtp-Source: AGHT+IHQgGDKYnpS8cvxChOVuSZsAjnTKah2viEVS9oNKXufBZ9Ckl/6tU+y5xvoKE6/Q1ES0ORdxg== X-Received: by 2002:a05:6000:1545:b0:391:2ba9:4c51 with SMTP id ffacd0b85a97d-39132d98bb8mr5365371f8f.44.1741475420168; Sat, 08 Mar 2025 15:10:20 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c0e4065sm10260184f8f.62.2025.03.08.15.10.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:19 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 10/21] qom: Introduce type_is_registered() Date: Sun, 9 Mar 2025 00:09:06 +0100 Message-ID: <20250308230917.18907-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org In order to be able to check whether a QOM type has been registered, introduce the type_is_registered() helper. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/qom/object.h | 8 ++++++++ qom/object.c | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/include/qom/object.h b/include/qom/object.h index 9192265db76..5b5333017e0 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -898,6 +898,14 @@ Type type_register_static(const TypeInfo *info); */ void type_register_static_array(const TypeInfo *infos, int nr_infos); +/** + * type_is_registered: + * @typename: The @typename to check. + * + * Returns: %true if @typename has been registered, %false otherwise. + */ +bool type_is_registered(const char *typename); + /** * DEFINE_TYPES: * @type_array: The array containing #TypeInfo structures to register diff --git a/qom/object.c b/qom/object.c index 01618d06bd8..be442980049 100644 --- a/qom/object.c +++ b/qom/object.c @@ -100,6 +100,11 @@ static TypeImpl *type_table_lookup(const char *name) return g_hash_table_lookup(type_table_get(), name); } +bool type_is_registered(const char *typename) +{ + return !!type_table_lookup(typename); +} + static TypeImpl *type_new(const TypeInfo *info) { TypeImpl *ti = g_malloc0(sizeof(*ti)); From patchwork Sat Mar 8 23:09:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007989 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 130CFC282EC for ; Sat, 8 Mar 2025 23:11:33 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3JU-0006Bk-PM; Sat, 08 Mar 2025 18:10:36 -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 1tr3JO-000602-7g for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:30 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3JL-0001Sj-Na for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:29 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43bcc04d4fcso17916415e9.2 for ; Sat, 08 Mar 2025 15:10:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475425; x=1742080225; 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=OAApOfCWWikXdcBm+45ltUmeOBmLQGFruMZPHaiGOZ8=; b=go9XA4N9cnIJfMS5J8CaRdLtM5aG+5Dqo++XFnOk6Lb8HOIuZPMb6NYJazOBVmkH1T S0SgpZQ7296suKxguCUmuJruB/2+27SKzdjK83ITlL+pq89aya6KkuZWYmU8b8UjQSRI DgwsD9G0BPap6a+Hve2LgBLgac4qg5efkX+Fpsx7uZrhhu8NE4mnMr0kA/zbWNq5Ugmw exn+2aa3FlG2pok64Ip1k9MPw07qH8vHh43IWeKTUgLxa0gNCxcRur9AXm5AEFNxiNc1 QXTVvuOUZzxJQ8h4o4UyzC1dYHlHrTEezjsA/ZIxSo22OrDOssB0qhscTTW+pTPtR8Sl CARA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475425; x=1742080225; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OAApOfCWWikXdcBm+45ltUmeOBmLQGFruMZPHaiGOZ8=; b=c7PlWIqjmjayq8ut3vhCJTJ2UJH3YLDbaq3WO5ENhVKfvlpFP4DIHPXu4pPsold5ZU 0tszS6dzBPBKaFnCWcphyP5Ym5DeNR1O0EZmNtRqA9+eOU4GpustDSzZUS5yCvaFSTp+ ntB/IB3e7TE9INGGE+4rLqat03WYfv/Uy85jVn8Nj1M6WYnIZ5HKXQDC5Y8+OXjf7P4g iJ0J+GGlaHpsPMXwsokSu0HxWPRPMYYz231/dNKqGtg9yjpk47wG5yNZ20TJv85oM8a2 0s/+lRJcXJyqvj94N92D2TBXxbpv382CXfpuCsFvuOvKBFX9MNSgcg5/EJAYfWCYUTsg rcqg== X-Gm-Message-State: AOJu0YwXe3+pX1cZVdu8DHVtLuCnI2g4LaoimvazPE0+xdWTFtkVDcZ3 76F90GeNMFayUvHcuhbqqibazls0NJy5ITVIQoF7102LXpqg4cbjLjlDyi/eQc0u0yCt17YsxCl tFbw= X-Gm-Gg: ASbGncsFjBCcGCU3QipYMEtCHuff770Cit2SyRWPIM8q7D+9b+aRZFNg7UiMh2PouPG UH4Qp8/zJXbhbHITIYwwHRCsI3tGDmKGLWouqXVWLExdFJ61YBRd8EZgiuACQYhPB5H5pVOQ4aV 0ezpK5pPJiJs71IHB/l8BSL2VWVFuu2HqJUT759TMezhYrOx643lhAuPAMl2Aj6c+7vphjxsyUH 4CYpbeaxlVo/HONn03p6W9IgOb7W6HCdPfNivKltCezm9GPgOVWJuK/8EqOqfTxvCKAUvk9kyTj xqPv5Pc0R9KRvMT6W8WctR+C6mDoFUoyOjapYkPXMkn1bgaqgJUQGCsnQufMn53aTomTxfekRVN gZ8qviSYIV7Ip67Cwwd8= X-Google-Smtp-Source: AGHT+IEsdUpzC3vvzIbC6qsVM93qE5A0/3sv2x9KGYFFRAItc0/EzKZy6rlmtqCICch1ekTW0tHDTg== X-Received: by 2002:a05:600c:3b1a:b0:43b:c541:51d3 with SMTP id 5b1f17b1804b1-43c601cfe2cmr50795605e9.6.1741475425507; Sat, 08 Mar 2025 15:10:25 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ceaac390bsm30320235e9.35.2025.03.08.15.10.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:25 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 11/21] hw/vfio/igd: Define TYPE_VFIO_PCI_IGD_LPC_BRIDGE Date: Sun, 9 Mar 2025 00:09:07 +0100 Message-ID: <20250308230917.18907-12-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Define TYPE_VFIO_PCI_IGD_LPC_BRIDGE once to help following where the QOM type is used in the code. We'll use it once more in the next commit. Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/pci-quirks.h | 2 ++ hw/vfio/igd.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/vfio/pci-quirks.h b/hw/vfio/pci-quirks.h index d1532e379b1..fdaa81f00aa 100644 --- a/hw/vfio/pci-quirks.h +++ b/hw/vfio/pci-quirks.h @@ -69,4 +69,6 @@ typedef struct VFIOConfigMirrorQuirk { extern const MemoryRegionOps vfio_generic_mirror_quirk; +#define TYPE_VFIO_PCI_IGD_LPC_BRIDGE "vfio-pci-igd-lpc-bridge" + #endif /* HW_VFIO_VFIO_PCI_QUIRKS_H */ diff --git a/hw/vfio/igd.c b/hw/vfio/igd.c index b1a237edd66..1fd3c4ef1d0 100644 --- a/hw/vfio/igd.c +++ b/hw/vfio/igd.c @@ -262,7 +262,7 @@ static void vfio_pci_igd_lpc_bridge_class_init(ObjectClass *klass, void *data) } static const TypeInfo vfio_pci_igd_lpc_bridge_info = { - .name = "vfio-pci-igd-lpc-bridge", + .name = TYPE_VFIO_PCI_IGD_LPC_BRIDGE, .parent = TYPE_PCI_DEVICE, .class_init = vfio_pci_igd_lpc_bridge_class_init, .interfaces = (InterfaceInfo[]) { @@ -524,7 +524,7 @@ void vfio_probe_igd_bar4_quirk(VFIOPCIDevice *vdev, int nr) lpc_bridge = pci_find_device(pci_device_root_bus(&vdev->pdev), 0, PCI_DEVFN(0x1f, 0)); if (lpc_bridge && !object_dynamic_cast(OBJECT(lpc_bridge), - "vfio-pci-igd-lpc-bridge")) { + TYPE_VFIO_PCI_IGD_LPC_BRIDGE)) { error_report("IGD device %s cannot support legacy mode due to existing " "devices at address 1f.0", vdev->vbasedev.name); return; From patchwork Sat Mar 8 23:09:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007964 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 25CA2C282EC for ; Sat, 8 Mar 2025 23:10:48 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3JX-0006Pc-E0; Sat, 08 Mar 2025 18:10:39 -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 1tr3JT-0006At-Py for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:35 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3JQ-0001To-LX for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:35 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43cef0f03cfso1575455e9.3 for ; Sat, 08 Mar 2025 15:10:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475431; x=1742080231; 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=kqJ8O34qNgm7bETvjKnBNqBiS0iJjz9k+q/OCgWJZ8A=; b=WqHo1vIHfSkmov+oBwrKtleKwtsA1oTL7gUL85Abp5pOQsyGjv5DPFMUDQAuHtwY/E d0dak797fPbl7I111olYR2ki6MmXif9i/ZWjbyKAH46Ov3iKkZ+3PHI0GxyXnoGoay/R S+V4pI7Yb/lAegqXVPPtmsNrwNBewdhRCxX4urmVmB488t0dEKr/+se7ZNTYrdSOkRN3 SOM8P8S0gdx2Ux3ED1LJT/cKnGG7moxM1DG08z9Ud1NXbg0RnQLuwvh/baO00EZgrGgM zWq6ucaov9xpacY6hz0mk54zdeg3wY8CT1HirYg6P+2k3ThPFgCK//IW2atTxqr2SVWU wQlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475431; x=1742080231; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kqJ8O34qNgm7bETvjKnBNqBiS0iJjz9k+q/OCgWJZ8A=; b=c39iEGua3xhF3S8zp0RSJyES0CHUTHJZgX7uqf+YjM/EBhsdiMgIAB+1rxmYW1hQjl qggvhhbemJ2fp5R2SnOWAAb0cuqFM7GjXI1TSGTB+4k6Aqi5fLfQqLBR2S1dxbqP3KSV Q8l7NC5sJmKYWvcjVZmHXK5yGOVBjmC1uScgN//OwsshgipanK9uWwmQHT1serjoAWPw ouZ0KzhejT7nNwxl5TG86q7RmuV/i17BJvmzWyHhHTLsvzhurdrg2Z8OyNwH0ir8mQM6 42yWNMxqSnLFAb9i20U//Snfs1Qh4ORCKVCjUnITrv9B/tYKNhHLX4fw0SPu6/n2u0gh eiXg== X-Gm-Message-State: AOJu0Yz/Y6KH8wL5q47UJ0oDjNOJdgIXi/XJNVmAZlnBPATlnShsmCMO 5r2uuU5/P95DpQ6aRMSSrEgz3RUkjuev/kDdqfrV9D+cOEWfGORYswwYbSd/jq2BpaUVYxBKPGd xg8c= X-Gm-Gg: ASbGncv3wmvzFuLgMJpVCK2UOHKOgtYl0LRW57zZ8vOwPb8XnN7dXiw2Z/OEUjSFStJ zNbOWHNvLUvCzp8J+ufKbku3r3CsDcsa49odJ3p1eh2Da6GWSBYhAYm80zJjpYeNxM1HD+b3N7z s1cbMnsFDaA3ipBKeX7ALA5jBNlYvKOL6r8F+9KI1u2KvKbqxN+S4RrkXTY3/Zl2I1K8YLadh5t q4iQqaKDaWVxFwtOTdd2pH3BamQ259EWL0G/I24QvnJUyqrgs50Os1C1DwIr+yvM3QJljMYMmSk KDYMYEucMMhJvpZNBIF+Lb3+6L32r5gSTDhb/HD2CnSStL+hqABhsO0E+hdYy80TApfBgZi1eTN kpNRe4b9C0jxwEqoe5IU= X-Google-Smtp-Source: AGHT+IFLHFN9rxCqoijA4uedrenofflj7luyFp9CUDQXWNq5DjV8ZWge9xhKDm/5wVHFLL1LrIgcAA== X-Received: by 2002:a05:600c:35ca:b0:43b:ca8c:fca1 with SMTP id 5b1f17b1804b1-43c5a610dc3mr61655845e9.16.1741475430716; Sat, 08 Mar 2025 15:10:30 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c0e2f10sm10124731f8f.65.2025.03.08.15.10.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:30 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 12/21] hw/vfio/igd: Check CONFIG_VFIO_IGD at runtime using vfio_igd_builtin() Date: Sun, 9 Mar 2025 00:09:08 +0100 Message-ID: <20250308230917.18907-13-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Convert the compile time check on the CONFIG_VFIO_IGD definition by a runtime one by calling vfio_igd_builtin(), which check whether VFIO_IGD is built in a qemu-system binary. Add stubs to avoid when VFIO_IGD is not built in: /usr/bin/ld: libqemu-x86_64-softmmu.a.p/hw_vfio_pci-quirks.c.o: in function `vfio_bar_quirk_setup': /usr/bin/ld: ../hw/vfio/pci-quirks.c:1216: undefined reference to `vfio_probe_igd_bar0_quirk' /usr/bin/ld: ../hw/vfio/pci-quirks.c:1217: undefined reference to `vfio_probe_igd_bar4_quirk' Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/pci-quirks.h | 6 ++++++ hw/vfio/igd-stubs.c | 20 ++++++++++++++++++++ hw/vfio/pci-quirks.c | 9 ++++----- hw/vfio/meson.build | 3 +++ 4 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 hw/vfio/igd-stubs.c diff --git a/hw/vfio/pci-quirks.h b/hw/vfio/pci-quirks.h index fdaa81f00aa..dcdb1962600 100644 --- a/hw/vfio/pci-quirks.h +++ b/hw/vfio/pci-quirks.h @@ -13,6 +13,7 @@ #define HW_VFIO_VFIO_PCI_QUIRKS_H #include "qemu/osdep.h" +#include "qom/object.h" #include "exec/memop.h" /* @@ -71,4 +72,9 @@ extern const MemoryRegionOps vfio_generic_mirror_quirk; #define TYPE_VFIO_PCI_IGD_LPC_BRIDGE "vfio-pci-igd-lpc-bridge" +static inline bool vfio_igd_builtin(void) +{ + return type_is_registered(TYPE_VFIO_PCI_IGD_LPC_BRIDGE); +} + #endif /* HW_VFIO_VFIO_PCI_QUIRKS_H */ diff --git a/hw/vfio/igd-stubs.c b/hw/vfio/igd-stubs.c new file mode 100644 index 00000000000..5d4e88aeb1b --- /dev/null +++ b/hw/vfio/igd-stubs.c @@ -0,0 +1,20 @@ +/* + * IGD device quirk stubs + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * Copyright (C) Linaro, Ltd. + */ + +#include "qemu/osdep.h" +#include "pci.h" + +void vfio_probe_igd_bar0_quirk(VFIOPCIDevice *vdev, int nr) +{ + g_assert_not_reached(); +} + +void vfio_probe_igd_bar4_quirk(VFIOPCIDevice *vdev, int nr) +{ + g_assert_not_reached(); +} diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index c53591fe2ba..22cb35af8cc 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -11,7 +11,6 @@ */ #include "qemu/osdep.h" -#include CONFIG_DEVICES #include "exec/memop.h" #include "qemu/units.h" #include "qemu/log.h" @@ -1213,10 +1212,10 @@ void vfio_bar_quirk_setup(VFIOPCIDevice *vdev, int nr) vfio_probe_nvidia_bar5_quirk(vdev, nr); vfio_probe_nvidia_bar0_quirk(vdev, nr); vfio_probe_rtl8168_bar2_quirk(vdev, nr); -#ifdef CONFIG_VFIO_IGD - vfio_probe_igd_bar0_quirk(vdev, nr); - vfio_probe_igd_bar4_quirk(vdev, nr); -#endif + if (vfio_igd_builtin()) { + vfio_probe_igd_bar0_quirk(vdev, nr); + vfio_probe_igd_bar4_quirk(vdev, nr); + } } void vfio_bar_quirk_exit(VFIOPCIDevice *vdev, int nr) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index a8939c83865..6ab711d0539 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -17,6 +17,9 @@ specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) system_ss.add(when: 'CONFIG_VFIO_XGMAC', if_true: files('calxeda-xgmac.c')) system_ss.add(when: 'CONFIG_VFIO_AMD_XGBE', if_true: files('amd-xgbe.c')) +system_ss.add(when: 'CONFIG_VFIO_IGD', if_false: files( + 'igd-stubs.c', +)) system_ss.add(when: 'CONFIG_VFIO', if_true: files( 'helpers.c', 'container-base.c', From patchwork Sat Mar 8 23:09:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007967 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4517EC28B2E for ; Sat, 8 Mar 2025 23:11:16 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Jc-0006lz-6d; Sat, 08 Mar 2025 18:10:44 -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 1tr3JY-0006Vs-5b for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:40 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3JW-0001Us-Iy for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:39 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4394036c0efso16913765e9.2 for ; Sat, 08 Mar 2025 15:10:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475437; x=1742080237; 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=PCiNgLEiS6OiisxvVuwTtdLprKkJGMzsN7gdfZerLX8=; b=ZQJ2a2YryAeB8LeI9Nvd0XvB/s7tCSDx4DGC8oSsYBRPmruil6YxUpDztApeZ2MTon rJ+oPR+HWkC+nsGqTsU6A63TFZRG7xFfFbz5tIXzPk8Y6ITmda58dsmWcBcENM2lfMJH F8f7ygm6TDMOwUsBeuALIf7VtZwM1AWk/ql3CfMEGQjb9rVXkuBXc4RSyZwq3HxUiytP agHVd2ZUB2S+Xm/5uLYOSNHalxH8wK6Y+noocq5ZndIGL36+WlTSvm4v5zH8ILuZx1he 2u+79zjFFXCieYlTPko19oj5JRTSAnqVdu+Jx9pZTlwbSqAwXzpN/3O5gjX3YX+1qb9X DyNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475437; x=1742080237; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PCiNgLEiS6OiisxvVuwTtdLprKkJGMzsN7gdfZerLX8=; b=VCHUH6mpgQ6dfbkBaHlcxXfQVWLwHnjDzIIuo2wygmbuZChxKrTD98/sVeAOtFGIET aqWalb03BiqGRcJ+1CkppHl17r/tILXPPC400b2VJ9GjhTjEoy6ckEW4+mdVtoFIwStS 5/X7iyQoqVxJkDpiP9fLEk7uKkNQj2XbyB7vY2+AKmEc4IZP5dvbw+ukq3XIYM6ATlH7 qSdSSTkzJY4l2pZcHGRPVkrgs0yX5v6hJJmNfoXiXvXmMUzCVXMriGlcFJVY4iBh2Bu+ 2FS/Hk9fpQ2VocGzvTE42DSOdWFv3ogP6PvakkcE2MD55Ukf7OQ2Dt73dFq6hXH5bamJ KfAA== X-Gm-Message-State: AOJu0YxJrmHaY/HOAnf6V0mPrwKJQpel6Vgb5FanJsvplj2F/N+mzcrl cCmW7c6nZNcHnB0OgL6mMzLzNdcNqGFWZZ5bG9Kd9l7vCitVgF3XM8dZ/hRJzAQTM73L/92LY8C n44I= X-Gm-Gg: ASbGncucAIetS3Y+a2/y9x34w7ibbtrTSx/j/cvIPEdF5RAa8KLLEKMMo8rqobWdS1w mYHTUOcDu4TEFyb37Nk3ySUXHT5tzyNb06ae+M9I8rXG20DrQ4FXziFO/66to7JSJ83IgbC+I6r 1EJfvT44v3V+qjrH9lm3PK9g6b3M2c1Gc51M25TwuQSfWuGHUUE5/e5Ez34K+D4efi2d3j1aVYu SP3pz361kFl9Jg9HBu0LeQuztKTHD9vtzq0ZARV+PxKVg5IgW3J26YgYhR+AlGhM0mRHdd2WMKi VVQJEYITVXrYBV8e0EJr/cVj1h+JmsypA8Mi9c7Al/tuA5tGoTjW5Zl62+nb6/px0gx2872o81y gnNbWNhTEActfti/oVP4= X-Google-Smtp-Source: AGHT+IENrA47OVsXzaZX4a1bGAgrCx0XL0i2aOlzI6Mq7cL2vI+8HE9sGHrEgItEH0nHk0n3/e8OGA== X-Received: by 2002:a05:600c:470c:b0:43c:f050:fed3 with SMTP id 5b1f17b1804b1-43cf051022dmr4854905e9.11.1741475436763; Sat, 08 Mar 2025 15:10:36 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bd42c6203sm126860865e9.24.2025.03.08.15.10.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:35 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 13/21] hw/vfio/igd: Compile once Date: Sun, 9 Mar 2025 00:09:09 +0100 Message-ID: <20250308230917.18907-14-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The file doesn't use any target-specific knowledge anymore, move it to system_ss[] to build it once. Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 6ab711d0539..21c9cd6d2eb 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -11,13 +11,14 @@ vfio_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( vfio_ss.add(when: 'CONFIG_VFIO_CCW', if_true: files('ccw.c')) vfio_ss.add(when: 'CONFIG_VFIO_PLATFORM', if_true: files('platform.c')) vfio_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) -vfio_ss.add(when: 'CONFIG_VFIO_IGD', if_true: files('igd.c')) specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) system_ss.add(when: 'CONFIG_VFIO_XGMAC', if_true: files('calxeda-xgmac.c')) system_ss.add(when: 'CONFIG_VFIO_AMD_XGBE', if_true: files('amd-xgbe.c')) -system_ss.add(when: 'CONFIG_VFIO_IGD', if_false: files( +system_ss.add(when: 'CONFIG_VFIO_IGD', if_true: files( + 'igd.c', +), if_false: files( 'igd-stubs.c', )) system_ss.add(when: 'CONFIG_VFIO', if_true: files( From patchwork Sat Mar 8 23:09:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007993 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3189DC28B25 for ; Sat, 8 Mar 2025 23:12:33 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Jj-0007Nn-9b; Sat, 08 Mar 2025 18:10:51 -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 1tr3Jf-00079W-4F for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:47 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Jc-0001WK-0d for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:46 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-391342fc1f6so2003196f8f.1 for ; Sat, 08 Mar 2025 15:10:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475442; x=1742080242; 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=e994k6DJ1GVQfS1v420FHs4KoJEVg7ohUIOs13xGxIQ=; b=ag9/oAZNpmWFIS6hGYEJWYuOf9g1jKLokS4k3ZrNKGwAb+aKNbcH5Sh6OTpQIXsHAK f6axH0rYpWb/m10OBfZlErYG9FqSu8nccpmm4zrgkzE5ebMpNKSkwWGuPk5D3SogIBor VJEBSQxx0I9nHJzFuSnQmMU+fszS2QhNV0+EFjIzOh0sd5lXnOZYCtfjqtIrZ2gP4IWl BH/dZ2xuHftH0xHSmjY0s3CZfTnCKpkM4z4IAzrhhBCdG3osgF6xksc3uWrlQStWP06M Bd8EvtjykslPYkAMi1WyLiaG+YU4He7Q/0JEm5sJWpTeuvm1SbUGFj/mqyYJVowvC/pv ieQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475442; x=1742080242; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e994k6DJ1GVQfS1v420FHs4KoJEVg7ohUIOs13xGxIQ=; b=ixItOShcil6eeKFIdSQsbBnx1Qlv1nc95dNic39h259Dhp/BVip5jvfO4RFG3RGkdp nPP7txaYJOdwDKcLdTwXwcWuoTtw3qNV8gZ/E+qRm69nl5B/5SONyZ29S9nsoTHNtYV8 Vju+yT9ycJp+sIU4XCzaCy4HPTR5NwIbjG2xm1PFNKEG/2OpCj2vQRje1WUVF3lkNVv3 0VlKzMLzpheF/uM62AV2xFzsi4xUK0rRdtez7iLV3TIvOzbUkfHnoNBCTT4ktYmctxKr zaa9Yb/ThGQiIc/x4mE8LTkGPZlqRBAm0AA2zAfGH0xQRuADAmGYeLce0SZBcu6LSott QgyA== X-Gm-Message-State: AOJu0Yzlh2eRmSw6niSqMb8YcHBO3wzbDQ4IJvUuZDfk+SAsg1Mcrbvz LJDitpCEXs/VPssHFyUC5ntsvJiIALg5qUCk5uLC521tBVIt3FT3/QHtIwbUSLT9uXnoclRm9cm n2PY= X-Gm-Gg: ASbGncvOq0SiWSvLoxKHGaMBnHHZJFcIqCGKJ9RpElzjhUKx1C1j3oWKDDg7SH1Pq3K cbLLGO3HTU6ZZaf5nV1p8gz2sWApIEexKTXy34wy6a3DAdtf8aVZSxg8pLZTmTR6HXOc6Ycs8XP pNNVvYD+hQBuY2sZ0d87FLDv75Ih+WR6PlzdOL3INJAUPUgCSV23J49jkd3iKHA7CRZlNHd2w2F 8Z/wmJu62suSYLZO/wZWu2ejmXO1/DBZe0dk2+i9Jg+ENrjn9rbgqgEA0zsVVEDqAKiZtAtcRo3 imI1lzP/sPYvu3xaEiNhdrz7Sp3a9z2LqBwGVJuuut8buVBThow/RRfeWsgnvwJ58krK3lE82Pk 1Ih8xGH2r5lRRgUXjB38= X-Google-Smtp-Source: AGHT+IGanFAG++lqDWp4faa7iGXFNwWsx6KoPF+8GUYwA8SvvtEs71rNKQ7140I7e3KcmDtaGGxtiw== X-Received: by 2002:a5d:64c3:0:b0:391:2932:e67b with SMTP id ffacd0b85a97d-39132dacfdbmr7249820f8f.35.1741475442093; Sat, 08 Mar 2025 15:10:42 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43cec28e1c4sm12949955e9.1.2025.03.08.15.10.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:41 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 14/21] system/iommufd: Introduce iommufd_builtin() helper Date: Sun, 9 Mar 2025 00:09:10 +0100 Message-ID: <20250308230917.18907-15-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org iommufd_builtin() can be used to check at runtime whether the IOMMUFD feature is built in a qemu-system binary. Signed-off-by: Philippe Mathieu-Daudé --- docs/devel/vfio-iommufd.rst | 2 +- include/system/iommufd.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/devel/vfio-iommufd.rst b/docs/devel/vfio-iommufd.rst index 3d1c11f175e..08882094eee 100644 --- a/docs/devel/vfio-iommufd.rst +++ b/docs/devel/vfio-iommufd.rst @@ -88,7 +88,7 @@ Step 2: configure QEMU ---------------------- Interactions with the ``/dev/iommu`` are abstracted by a new iommufd -object (compiled in with the ``CONFIG_IOMMUFD`` option). +object (which availability can be checked at runtime using ``iommufd_builtin()``). Any QEMU device (e.g. VFIO device) wishing to use ``/dev/iommu`` must be linked with an iommufd object. It gets a new optional property diff --git a/include/system/iommufd.h b/include/system/iommufd.h index cbab75bfbf6..3fedf8cfb63 100644 --- a/include/system/iommufd.h +++ b/include/system/iommufd.h @@ -63,4 +63,10 @@ bool iommufd_backend_get_dirty_bitmap(IOMMUFDBackend *be, uint32_t hwpt_id, Error **errp); #define TYPE_HOST_IOMMU_DEVICE_IOMMUFD TYPE_HOST_IOMMU_DEVICE "-iommufd" + +static inline bool iommufd_builtin(void) +{ + return type_is_registered(TYPE_IOMMUFD_BACKEND); +} + #endif From patchwork Sat Mar 8 23:09:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14008001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8AB9FC282EC for ; Sat, 8 Mar 2025 23:14:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Jx-0007pm-BI; Sat, 08 Mar 2025 18:11:07 -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 1tr3Jl-0007eo-96 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:53 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Ji-0001XI-4s for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:52 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-38f2f391864so1623059f8f.3 for ; Sat, 08 Mar 2025 15:10:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475448; x=1742080248; 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=rb5Gq5gjoqNir/3li58uEI51RqNLZd7aJ8wRwb3WrW0=; b=kbYMerpbu2auPrQgtcwk4ahZFARRoh87Uekzd5/A3BAUEhBMr5xZqc1hRD2SiI7R3+ UgkizcjzEXcGmQT+vGqQJdlM7fEYQSzp8EybYMTfFiGd9MNDb8K3nazMk1zniP22VZTT 6i1GxivGAFXk2+2v+Cho0a8PKB1T7rJOxgp6Lx/ef1L672frht/5PS+fxPL9ZTMFV5yt 2XWb/TPbcIBoKWowLDzua+726N2Tt1Dtau4IEd2Cy+HjhdQ9lUShKbbmpZ7pZL48wuB/ gzZNQmsn+OYcdMl/tboEAI7mBannDnJesG+o8Y9fZbaZ1BR/1vHJBhczKQEmxWNSX3iM cfSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475448; x=1742080248; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rb5Gq5gjoqNir/3li58uEI51RqNLZd7aJ8wRwb3WrW0=; b=F1oBzDi/C5+QrHXUkS1bRPyzRmxbRI5xKwPxhZOMaPKf0MI3lOb0weveRyZrtgBbMF HU0kseP6Blmdjk+c8J5kA5JO0Rf4ue2mE2WVZ5hiZ0ZWC5YxydQWgx+1+8LB0ViacdE+ A5gs0G1v6quIxd082XOjbZaBIC6D74cXHrZZlglcNTi0U13C9oJgnoBeFyk49ZAMvZ4a vVKfkXr+n0DeeSrYUJrQh/B/1d+uA/gEUEe3M+7Z8cMlbrTIlxJ26Az92NG2pAFvrFZF empUFXvQzvHQYE+Wl105bnMQYhzqWjZ4CDUzcCC1YNwHAelQu9bRoT4oFj8RIQtLJyHx i+JA== X-Gm-Message-State: AOJu0YxJY0445Lb4zm3wLFYW3rYVVG5w8g5z2lruYiaHNXBPNi2rwk0+ ylNetwQK6R0cYQJQeute69mOimbl2HbrQwqSYAoiiO7zLKx2IphkYDDgM25kiXStEyUMXcedYuU fh6A= X-Gm-Gg: ASbGnctE3whuypphbV+8a8bngNsgT3uYqQLaBPom9ZUtGvVJL/LOvLc/8KHFf8TjvKY oAzgtuyh3oac5Cu+q+Usf7lmdUREiNBy6gFUHSaHvkJbkcO5Uay0pYmzSLxh/Q3045pnYxRaCH5 rIp+aNisXDSm8TdRpZ8a8SCMkzIwOi4hQby77rQQHVgAIkzozlacqGQgNNEv3YA2B23FrOSjuMl gsR0lJv1INtJEw/upRtE52Xr2BdOyaAfh7+qYDMgq/P6Pl/1Mbg8ZtGLBgBUDl/UzvVqdNbXZ7U ydMzIGRqxmfw0ougUUvibZ5b+5619DCCk2lphpLibu5nU3TnNI/jGjIQc7PtkMF772zLmByNZ6V P/qZxAc704fYhW0Bn/Ds= X-Google-Smtp-Source: AGHT+IFpyPZ8OHsunTdPUAhz3+hHZqpRzqB+uc+3KU0WeLI4qJr+CM3YEWcq/yPMOmAPEzlWQ4DAbw== X-Received: by 2002:a5d:588f:0:b0:390:f394:6274 with SMTP id ffacd0b85a97d-39132da9214mr5345868f8f.52.1741475448065; Sat, 08 Mar 2025 15:10:48 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfb79fbsm10297840f8f.13.2025.03.08.15.10.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:46 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 15/21] hw/vfio/pci: Check CONFIG_IOMMUFD at runtime using iommufd_builtin() Date: Sun, 9 Mar 2025 00:09:11 +0100 Message-ID: <20250308230917.18907-16-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Convert the compile time check on the CONFIG_IOMMUFD definition by a runtime one by calling iommufd_builtin(). Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/pci.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 9872884ff8a..e83252766d1 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -19,7 +19,6 @@ */ #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include #include @@ -2973,11 +2972,10 @@ static void vfio_realize(PCIDevice *pdev, Error **errp) if (!(~vdev->host.domain || ~vdev->host.bus || ~vdev->host.slot || ~vdev->host.function)) { error_setg(errp, "No provided host device"); - error_append_hint(errp, "Use -device vfio-pci,host=DDDD:BB:DD.F " -#ifdef CONFIG_IOMMUFD - "or -device vfio-pci,fd=DEVICE_FD " -#endif - "or -device vfio-pci,sysfsdev=PATH_TO_DEVICE\n"); + error_append_hint(errp, "Use -device vfio-pci,host=DDDD:BB:DD.F %s" + "or -device vfio-pci,sysfsdev=PATH_TO_DEVICE\n", + iommufd_builtin() + ? "or -device vfio-pci,fd=DEVICE_FD " : ""); return; } vbasedev->sysfsdev = @@ -3412,19 +3410,18 @@ static const Property vfio_pci_dev_properties[] = { qdev_prop_nv_gpudirect_clique, uint8_t), DEFINE_PROP_OFF_AUTO_PCIBAR("x-msix-relocation", VFIOPCIDevice, msix_relo, OFF_AUTO_PCIBAR_OFF), -#ifdef CONFIG_IOMMUFD - DEFINE_PROP_LINK("iommufd", VFIOPCIDevice, vbasedev.iommufd, - TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), -#endif DEFINE_PROP_BOOL("skip-vsc-check", VFIOPCIDevice, skip_vsc_check, true), }; -#ifdef CONFIG_IOMMUFD +static const Property vfio_pci_dev_iommufd_properties[] = { + DEFINE_PROP_LINK("iommufd", VFIOPCIDevice, vbasedev.iommufd, + TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), +}; + static void vfio_pci_set_fd(Object *obj, const char *str, Error **errp) { vfio_device_set_fd(&VFIO_PCI(obj)->vbasedev, str, errp); } -#endif static void vfio_pci_dev_class_init(ObjectClass *klass, void *data) { @@ -3433,9 +3430,10 @@ static void vfio_pci_dev_class_init(ObjectClass *klass, void *data) device_class_set_legacy_reset(dc, vfio_pci_reset); device_class_set_props(dc, vfio_pci_dev_properties); -#ifdef CONFIG_IOMMUFD - object_class_property_add_str(klass, "fd", NULL, vfio_pci_set_fd); -#endif + if (iommufd_builtin()) { + device_class_set_props(dc, vfio_pci_dev_iommufd_properties); + object_class_property_add_str(klass, "fd", NULL, vfio_pci_set_fd); + } dc->desc = "VFIO-based PCI device assignment"; set_bit(DEVICE_CATEGORY_MISC, dc->categories); pdc->realize = vfio_realize; @@ -3540,11 +3538,11 @@ static void vfio_pci_dev_class_init(ObjectClass *klass, void *data) "vf-token", "Specify UUID VF token. Required for VF when PF is owned " "by another VFIO driver"); -#ifdef CONFIG_IOMMUFD - object_class_property_set_description(klass, /* 9.0 */ - "iommufd", - "Set host IOMMUFD backend device"); -#endif + if (iommufd_builtin()) { + object_class_property_set_description(klass, /* 9.0 */ + "iommufd", + "Set host IOMMUFD backend device"); + } object_class_property_set_description(klass, /* 9.1 */ "x-device-dirty-page-tracking", "Disable device dirty page tracking and use " From patchwork Sat Mar 8 23:09:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007994 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 85A81C282EC for ; Sat, 8 Mar 2025 23:13:14 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3Jz-0007xX-VR; Sat, 08 Mar 2025 18:11:08 -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 1tr3Jp-0007nU-UR for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:59 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Jn-0001Yd-RC for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:10:57 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43bcbdf79cdso18044955e9.2 for ; Sat, 08 Mar 2025 15:10:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475454; x=1742080254; 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=9I5vCsA50Nsuo6JWWElDKwuAuqANWG3nhtm6Mug0ADk=; b=amXC1KqNRcKeCIgQ28QZutnqkU/x+I1OsioQdu1lZhqXRpR6PK1P64TmVR9x+lWFoI MpxjoOFrqPZblyUDWXxASkwrwoAUkVLh0k7DlvtRpb+gh+f5OkturzrS0Ilh1aiU0dMl mWgY5gW+0PbxQa0K1Wr4oK26CLQiSp2gQ8cAYbe8cdKZTZP4igGanSpaTTYj6Y4E9hRZ x3HL9nVjiGGaBnh5sTMuqg+VGyJZqpxiHCNGFa/56fYUCLrXAXjcQm2lab5SlxFDfiZq HKmLHJ+xzsKLjQ89KO41NTj6CTTFGsbde9wkTNfCSBGAlU5kfH7BwIclZVV83W3pVXSC InfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475454; x=1742080254; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9I5vCsA50Nsuo6JWWElDKwuAuqANWG3nhtm6Mug0ADk=; b=Hk4JJkQZjYKRLwo7jCX0mnhCCCXD771/WV+kY+jnHG/8lI6aKOn+sXZfQlvgeC53GS tKJgFSYn/ZyRZW7WW1v4FerKe7zHDz6PjKRol86w7HihG0AG2RhZpRxzWUMfOk4D+WsF Ntww+t9atYRz86PRpnZLIrA+pz90b4PkSWqCUN6kK6fYDJ+eUmxbs/NZQckBzwYa4xJf txqBvvS4rYRpLz8bKhBedi89A3CtRptHWOJkp/N2NUMsxrjlX8XkK1KW30djcQXiPiLb 1NgHF6EfjUvwWe5Hc1Cen9wPlzbGsT5tF5CeV5HozR3xZt8BXXzUiUPOkG/N3jycT5w0 K7qg== X-Gm-Message-State: AOJu0YwPhH5Ork52P/aHoEZzdos7JXJuS/HACm0d4iEZMbZR1TRCYxoD axLEeHKtuMu2ylo+Qxna/G3H8LMhBX8HYgv1cLS8a+wGvxhuXHFPRL7/azWOmh9aEDD9fbDdNgF tsdU= X-Gm-Gg: ASbGncsiyHIXzs4avleVrtPy60cBTYpFJQdEACCCVmPXpa2EdQ2Zy8hRGm8YuaHfGKD p5jeBJEvM4yWRX/HJJ9vgsBtcj9Kq80daUT7XukRO7J09yQAn+0fXRk7Ttee7/Ol7XmphyQKkKy c/A/oV0VaYM6lL+R89scTz6ZlI0J2JNEd89bZNzE5pW3QmYMDtnmqKLXXoB/KvTCXgT+dB9c49O 5sLZLdPJt0NPWSxXx0ReC4DJWhtdsrVTSb58qNemAlFXyAiWTvcn/UWjvSgjgI5H2JRAXO+9MCU 6UjonBczoSVxHCdURaHY12zyfBEaHRZd3Q/eHauYHcQ40mqMtWai4EVHCxXzMvZF/bsKFQkQ8Cf ObIsxfrafR+uRMbbtfYs= X-Google-Smtp-Source: AGHT+IHD4U1Jg2eYVlde+YIZ+P/aR73Oxp+dN6sVG7EKlH8IIyBuRl1arvaQ7vamgw7TSdQkmdXYog== X-Received: by 2002:a05:600c:4e8e:b0:43b:cc3c:60bc with SMTP id 5b1f17b1804b1-43c5a60ed21mr56361295e9.15.1741475454020; Sat, 08 Mar 2025 15:10:54 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c01d2cdsm10234876f8f.57.2025.03.08.15.10.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:52 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 16/21] hw/vfio/pci: Compile once Date: Sun, 9 Mar 2025 00:09:12 +0100 Message-ID: <20250308230917.18907-17-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Since the files don't use any target-specific knowledge anymore, move them to system_ss[] to build them once. Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/meson.build | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 21c9cd6d2eb..ff9bd4f2e35 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -4,10 +4,6 @@ vfio_ss.add(files( 'container.c', )) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) -vfio_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( - 'pci-quirks.c', - 'pci.c', -)) vfio_ss.add(when: 'CONFIG_VFIO_CCW', if_true: files('ccw.c')) vfio_ss.add(when: 'CONFIG_VFIO_PLATFORM', if_true: files('platform.c')) vfio_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) @@ -33,4 +29,6 @@ system_ss.add(when: ['CONFIG_VFIO', 'CONFIG_IOMMUFD'], if_true: files( )) system_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( 'display.c', + 'pci.c', + 'pci-quirks.c', )) From patchwork Sat Mar 8 23:09:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007996 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1C04FC28B2E for ; Sat, 8 Mar 2025 23:13:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3K4-0008Kv-O7; Sat, 08 Mar 2025 18:11:12 -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 1tr3Jx-0007sR-Bj for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:07 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450: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 1tr3Jt-0001ZR-BM for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:04 -0500 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-38dcac27bcbso2699897f8f.0 for ; Sat, 08 Mar 2025 15:11:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475459; x=1742080259; 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=9qGswFlRD0j2khHR7PT2I53zcxF8+u37OT/9BiqIPFA=; b=elg0vGchgLLQ7pA4AfKg0hKX/pf0BeDh98tz/qCQuDKedco3BINOXles5XfB9aujUt XIljB5IzLN6Oo/p9EtJhfmAuKGZfJSGm/y+aGyArMHnRZGsAhS4WH/39Zd28ciLX07JB poRhxsXxFsBpvO/rGEin3OuzYEBpsnQhRV8RqGCahCv8Vecicfex6oIIadhJUIXBh4UW DqosrpeK51QSff4ladJMbIzDw+aWDwsCwJiJSFf3nOK6zSbbhuj0vmh4MuOctboZguva YmwHrYAlQanGmoMJme5jcrhzF8lgfKltwuzxyR8LIiRGjzlpBMHsmoa+uefRDSS4zQu8 7eXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475459; x=1742080259; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9qGswFlRD0j2khHR7PT2I53zcxF8+u37OT/9BiqIPFA=; b=Fus8a9tCqBPV05b9+ZL3vYv4afEO1am7KdClpMbph0/xdDtwIdyyy7O5A3IKYbRr7u FCMEF9m+ZkUu3/+mcFVwfgYhJdCw33T7kA6mfpPI3WRgKM12nhKyUSl77YqOKAvrWo9D CX1AKpsMy4q/Xtce1i5tCbEpawIGh7l7CZRmvOr0o7geEqHcKJugBg95MYTUYSZj0G5h XQ+WIYRah3Gmhus/PxHkBxneQAdX3RrAEvFRg1shYRH7Uo0mecwGjFH/dajAg/2/nqhe LiFjdS7EJ1C9sGR3H9dXqLkV5JI9fCb5jAOBfdHQQf2ErkvdECH7us7rVQvseQ2bdy8M IQiw== X-Gm-Message-State: AOJu0YxTVdNlqdNb+IZY4TT4kJyVGTJVVey86Gg5VrG7GpKXY6YdkOkG vECo/lb6BZaxiFwZSdDkW7VZ57izN2NPoSk40VCGONHwyd7TGhTguKD8BekW5BZLteOx0BMakEH vYVc= X-Gm-Gg: ASbGncuMEhbFyr/XGAMrrXbsuLYZpOkXiTTmX0P2z6Vf+EIKkakui7Njy0UhS6nOvoS 60bSJYMhAGg0mhcP9Oa+FQmt3+fsfHAWb26scy0tMN7k7JIAlWWQ2542IaT7WAp+bRFVGD0thlU MvkSHy6WREM94HbxMc+C8JHMGODmW9y26rxkcj46XVSwnwPbxX7XCK/0K02+hT2nz/Tz+ezguXr jqhQqufld6axbTrnoFUvDUb87iybYnbh4lXa094dqSoXHk+P9fZAJHfeJXYc6vIcWShxmp9guLJ q6iD+P20hmNA3Y6X4e/AMuL7CT4M8mtt5Hun4DxTVFICMnGII470I6BlOrnuJt1w3BD4qDpzV8T dzI2Ej4TIC6ySsrkh0tc= X-Google-Smtp-Source: AGHT+IEbpDTd0sPomjcJ6hoJScZQbmBmzr2wv56KE84rBFKzKYjSy1/YKGyelEMd+2MRWVmS4KkUgA== X-Received: by 2002:a5d:584f:0:b0:391:1218:d5f4 with SMTP id ffacd0b85a97d-3913af39bccmr2283871f8f.23.1741475459232; Sat, 08 Mar 2025 15:10:59 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdff72sm10254923f8f.36.2025.03.08.15.10.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:10:58 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 17/21] hw/vfio/ap: Check CONFIG_IOMMUFD at runtime using iommufd_builtin() Date: Sun, 9 Mar 2025 00:09:13 +0100 Message-ID: <20250308230917.18907-18-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Convert the compile time check on the CONFIG_IOMMUFD definition by a runtime one by calling iommufd_builtin(). Reviewed-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/ap.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index c7ab4ff57ad..a4ec2b5f9ac 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -11,7 +11,6 @@ */ #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include #include #include "qapi/error.h" @@ -193,10 +192,11 @@ static void vfio_ap_unrealize(DeviceState *dev) static const Property vfio_ap_properties[] = { DEFINE_PROP_STRING("sysfsdev", VFIOAPDevice, vdev.sysfsdev), -#ifdef CONFIG_IOMMUFD +}; + +static const Property vfio_ap_iommufd_properties[] = { DEFINE_PROP_LINK("iommufd", VFIOAPDevice, vdev.iommufd, TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), -#endif }; static void vfio_ap_reset(DeviceState *dev) @@ -234,21 +234,20 @@ static void vfio_ap_instance_init(Object *obj) vbasedev->mdev = true; } -#ifdef CONFIG_IOMMUFD static void vfio_ap_set_fd(Object *obj, const char *str, Error **errp) { vfio_device_set_fd(&VFIO_AP_DEVICE(obj)->vdev, str, errp); } -#endif static void vfio_ap_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); device_class_set_props(dc, vfio_ap_properties); -#ifdef CONFIG_IOMMUFD - object_class_property_add_str(klass, "fd", NULL, vfio_ap_set_fd); -#endif + if (iommufd_builtin()) { + device_class_set_props(dc, vfio_ap_iommufd_properties); + object_class_property_add_str(klass, "fd", NULL, vfio_ap_set_fd); + } dc->vmsd = &vfio_ap_vmstate; dc->desc = "VFIO-based AP device assignment"; set_bit(DEVICE_CATEGORY_MISC, dc->categories); @@ -261,11 +260,11 @@ static void vfio_ap_class_init(ObjectClass *klass, void *data) object_class_property_set_description(klass, /* 3.1 */ "sysfsdev", "Host sysfs path of assigned device"); -#ifdef CONFIG_IOMMUFD - object_class_property_set_description(klass, /* 9.0 */ - "iommufd", - "Set host IOMMUFD backend device"); -#endif + if (iommufd_builtin()) { + object_class_property_set_description(klass, /* 9.0 */ + "iommufd", + "Set host IOMMUFD backend device"); + } } static const TypeInfo vfio_ap_info = { From patchwork Sat Mar 8 23:09:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007995 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0499EC282EC for ; Sat, 8 Mar 2025 23:13:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3KM-0000am-74; Sat, 08 Mar 2025 18:11:30 -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 1tr3K2-0008FJ-OU for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:11 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3Jz-0001aI-8B for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:10 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-43cf06eabdaso1442095e9.2 for ; Sat, 08 Mar 2025 15:11:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475464; x=1742080264; 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=xZOLi7hVFZ5LkXmaV+OYfUEhNf7zzYjD6/tmTvULQjs=; b=vsle2s6wMRoG3EY19zbB5mkOPy6lx2q4fpqlZuuNOeB+/Uy9eDaKqdI14jbhCUXdUq p5+rviXG+ZgR42ri+55kbJI1CPBBA+wgCd1S8kAbkC2yWN9/p9hlWoqWTIP4mfGPFGxv fXGcbONdiq0tfXv3zudo3stxXFT8wHGpQ98FFNcMviCOopAlLye+ooaHm7n+h4JxTy3P awmWL4rPZteQ0+Wtflmjv4J3ClQtH5Ky6L2VqgxbjkXYKDBOCsNx7ozd5Bv+hlSfoDml tnS1aFdz6OZ2QT3rW4R3c7GDihlhOjcoRWEQdqz2zUEtiVFCyplPW2bnndOUbCfVxuft QqpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475464; x=1742080264; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xZOLi7hVFZ5LkXmaV+OYfUEhNf7zzYjD6/tmTvULQjs=; b=nrDII4mbcNjEMU0Z+2A7M4CsfmldjSaleHuh1Tozubc7I5IYprh6hfQcRJHKF8U8Yb H4piU/ErK/+c5rHg4LNUyM5F6OPpXQc97Yzgr0el2kqZFKEwld7mgMEE9bFii/6HHb98 5ziinAx7hzJG6sevjDRJluyu7mcHHYHQ5ufU+q7Ay2B15MG4o/m/hVnoL3zlbMWWonja A/FpgiR8LqXbHHPgIbehnEg3pG0dklkVvEgi4EZ+aNt1uDPWSVEpkhhcic0ey/myV32k zpELqBZr7kGy7yc3BBxGW5RZAZ/+xqjM3h+D5cmMujPN6kQBV82rEBS7D1JPbdHKyPP3 tX3g== X-Gm-Message-State: AOJu0Yz6kLOatmvvgt3st4AZtDibS5GdWbX2GFGKeJlwEfSRHi9GPWYu yaclARED43d3+NLt73auDU1FOQAzv/wcuGKxUjbvRG1ep469I/3p9/uAyxXFPK+m3QfRBRJQ75H RYgs= X-Gm-Gg: ASbGncvefWUAor8/LCD9NXvDRNR9eIWwUwTdWFPYxqJX8acPBbRVYsAPBQJZBiscPrG 7eLa/rPRnvFFU8ABqYU/M7Bd1htzK1NI2TlVWGFa+WaWi4cUZvRArDXE2l9vF+XoApmseEFXLQX QcJdQtz4l8ard3/JnQ/iofxWGS821BDOjw7Ys4kE95866aKVej5nYdbd62/d+n4/G86Ttxly2Qg kBfEck2lr9Ip/mgp/edPG6f6b+9d8NWMVxSaZ6V/tTDzbXky2nz48WFFiFQagJa8JKKeH4n3EDH eVLSTkH5kVTcOCT3yU8t41L8EBBDjZstsfl2gyqLwxxhGHd1bpOMBAJU0v/TNRW8MEo9UZxACR0 toxL7q0GEI/RD+6MH/tU= X-Google-Smtp-Source: AGHT+IGWy1gJ5oJ0bHv2ZZjJsgicnzsIu9r/rWofhhX1E8f5N83B9uErX1SevbWarzZRQU5Rb4Xxww== X-Received: by 2002:a05:600c:1c03:b0:439:9106:c09 with SMTP id 5b1f17b1804b1-43c6021f124mr55430515e9.26.1741475464444; Sat, 08 Mar 2025 15:11:04 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bd4352eccsm126209355e9.27.2025.03.08.15.11.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:11:04 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 18/21] hw/vfio/ccw: Check CONFIG_IOMMUFD at runtime using iommufd_builtin() Date: Sun, 9 Mar 2025 00:09:14 +0100 Message-ID: <20250308230917.18907-19-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Convert the compile time check on the CONFIG_IOMMUFD definition by a runtime one by calling iommufd_builtin(). Reviewed-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/ccw.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index e5e0d9e3e7e..84d1437a568 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -15,7 +15,6 @@ */ #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include #include #include @@ -650,11 +649,12 @@ static void vfio_ccw_unrealize(DeviceState *dev) static const Property vfio_ccw_properties[] = { DEFINE_PROP_STRING("sysfsdev", VFIOCCWDevice, vdev.sysfsdev), DEFINE_PROP_BOOL("force-orb-pfch", VFIOCCWDevice, force_orb_pfch, false), -#ifdef CONFIG_IOMMUFD + DEFINE_PROP_CCW_LOADPARM("loadparm", CcwDevice, loadparm), +}; + +static const Property vfio_ccw_iommufd_properties[] = { DEFINE_PROP_LINK("iommufd", VFIOCCWDevice, vdev.iommufd, TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), -#endif - DEFINE_PROP_CCW_LOADPARM("loadparm", CcwDevice, loadparm), }; static const VMStateDescription vfio_ccw_vmstate = { @@ -682,12 +682,10 @@ static void vfio_ccw_instance_init(Object *obj) DEVICE(vcdev), true); } -#ifdef CONFIG_IOMMUFD static void vfio_ccw_set_fd(Object *obj, const char *str, Error **errp) { vfio_device_set_fd(&VFIO_CCW(obj)->vdev, str, errp); } -#endif static void vfio_ccw_class_init(ObjectClass *klass, void *data) { @@ -695,9 +693,10 @@ static void vfio_ccw_class_init(ObjectClass *klass, void *data) S390CCWDeviceClass *cdc = S390_CCW_DEVICE_CLASS(klass); device_class_set_props(dc, vfio_ccw_properties); -#ifdef CONFIG_IOMMUFD - object_class_property_add_str(klass, "fd", NULL, vfio_ccw_set_fd); -#endif + if (iommufd_builtin()) { + device_class_set_props(dc, vfio_ccw_iommufd_properties); + object_class_property_add_str(klass, "fd", NULL, vfio_ccw_set_fd); + } dc->vmsd = &vfio_ccw_vmstate; dc->desc = "VFIO-based subchannel assignment"; set_bit(DEVICE_CATEGORY_MISC, dc->categories); @@ -716,11 +715,11 @@ static void vfio_ccw_class_init(ObjectClass *klass, void *data) object_class_property_set_description(klass, /* 3.0 */ "force-orb-pfch", "Force unlimited prefetch"); -#ifdef CONFIG_IOMMUFD - object_class_property_set_description(klass, /* 9.0 */ - "iommufd", - "Set host IOMMUFD backend device"); -#endif + if (iommufd_builtin()) { + object_class_property_set_description(klass, /* 9.0 */ + "iommufd", + "Set host IOMMUFD backend device"); + } object_class_property_set_description(klass, /* 9.2 */ "loadparm", "Define which devices that can be used for booting"); From patchwork Sat Mar 8 23:09:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007998 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C7115C282EC for ; Sat, 8 Mar 2025 23:13:38 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3KK-0000YS-DS; Sat, 08 Mar 2025 18:11:29 -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 1tr3K6-00007B-DS for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:14 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3K4-0001bg-9I for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:14 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-43bccfa7b89so25637325e9.2 for ; Sat, 08 Mar 2025 15:11:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475470; x=1742080270; 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=SchAlroLdDNdcNXpi1x0hC/CnniZL26bHHU3ofZkp5E=; b=HGwmO33t/cREfu+qWyaiqUM3tWoYr1bDzjtkVXmc2XfIJD4sertyYdR+0uUul0udvk 5ca9wmnIQ1Zy5Sq1+zuvk/qka3Nj1lElpJ/yzcT79aqZfgxiXCYObrYA6Iq/Iyu6UhAS 64x9ecL2wqnaQiCx9ocSr/gsrZmw0/JU26HWDTa4YxiU/sG1IxOdqoDuVjsWVC9sZORm ruHOzyeQ64QTOFuV21HOvR2SU56F7+SdMIeRNnAcOw+ftoBbqSefzT1b9zllc4f6ZFLL UWVyCd58Z44wkvvB681c/H9WzPcOGsEpdAlIi45dGughIhxTn9JYdM2RLKYxCoxNoYDz QvVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475470; x=1742080270; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SchAlroLdDNdcNXpi1x0hC/CnniZL26bHHU3ofZkp5E=; b=NhHlVZyqZicbr5brhuswy5hSFHIWP9BdV6pk16cEHKZNW3fwps2QL9J/Hc9aL5pWXN ra0WaONWMW8WmRYXUryMB9yFsUwwIIivUoeqsC7xU0u+Yr+b/6STVvgiahHVgAd1weoU v8uaxNzcQ5SVxbgjrhxOhUrCgWAhATgeB1XMNgvgZ9Mk461K/JjaAAEvlPEtEQkfK9tX zu5T6FHy8SkPDo+zvyzhhZ9O+j26fiX/6I8LtV6zvwaEhEoIbMxxweQQq4Op8QZHpb8k 9V45ztFw51wIVVKS6mfius+Po02ptl80lZrcH0CTGJDQZeZzliakiXgOEs2XkUu99G93 yqTQ== X-Gm-Message-State: AOJu0YxsQva5Y+m6mXYya/lMD7gmfpE/Ef5fh1xgO2wKvRlQZXAKw9v5 SXLmnfuhP5n8omfBalschtxEZtS8SAT3V07wwmVNInYD9GGgu8jhB5epg5TWHGCJTRH/eK2Ww31 Tx6o= X-Gm-Gg: ASbGncuS+rpkXhT7uthntdgFTT1GBYr5S/lZzHCgmrkCI7cT3g9ZRRa1aN/arvnl0P3 gnfSyjWHPJf95ACzxf4/UQAVxbVQVMLt3TFOHGTiJD7OcY747Y4vP8D2OJTHsCxvglrd3Pu+ERw OBUOgQDUMXenxIIlihtYteKkuyFMqcOM/7Vhq9rMfZ0SEY1MHAurXn5356ujHqTkFkWYdLFgflZ 77AvO6Rrc0T9MPre0+/1cwbBB56syWW3Rc2o4Iul1cJtRRwwh2noyTGMquR4Mb4W1KUhMwyCo47 Y/CXM7syy6h5nfM2dYyDduVFdLcG4YKGNPGKIzRzWle1wj4zHtBV2+Nkfz2a1noglKAx/RbeC5R +qK3mjiGxrRGtZ4Fl7Rs= X-Google-Smtp-Source: AGHT+IEb/b4LOE2Bgus21ZYrnM3VVzkRV4FDIHRDZ5Yi+DfrCk1Fa3EmoxdciYSS3mQYlPYdKzgUqA== X-Received: by 2002:a05:600c:4e89:b0:43b:c448:bc34 with SMTP id 5b1f17b1804b1-43c601d0758mr55299595e9.18.1741475470398; Sat, 08 Mar 2025 15:11:10 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c0e4065sm10261640f8f.62.2025.03.08.15.11.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:11:09 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 19/21] hw/vfio/s390x: Compile AP and CCW once Date: Sun, 9 Mar 2025 00:09:15 +0100 Message-ID: <20250308230917.18907-20-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Since the files don't use any target-specific knowledge anymore, move them to system_ss[] to build them once, even if they are only used for one unique binary (qemu-system-s390x). Because files in system_ss[] don't get the target/foo/ path in their CPPFLAGS, use header paths relative to the root directory. Reviewed-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daudé --- target/s390x/kvm/kvm_s390x.h | 2 +- hw/vfio/ap.c | 2 +- hw/vfio/meson.build | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/target/s390x/kvm/kvm_s390x.h b/target/s390x/kvm/kvm_s390x.h index 649dae5948a..7b1cce3e60d 100644 --- a/target/s390x/kvm/kvm_s390x.h +++ b/target/s390x/kvm/kvm_s390x.h @@ -10,7 +10,7 @@ #ifndef KVM_S390X_H #define KVM_S390X_H -#include "cpu-qom.h" +#include "target/s390x/cpu-qom.h" struct kvm_s390_irq; diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index a4ec2b5f9ac..832b98532ea 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -23,7 +23,7 @@ #include "qemu/module.h" #include "qemu/option.h" #include "qemu/config-file.h" -#include "kvm/kvm_s390x.h" +#include "target/s390x/kvm/kvm_s390x.h" #include "migration/vmstate.h" #include "hw/qdev-properties.h" #include "hw/s390x/ap-bridge.h" diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index ff9bd4f2e35..3119c841ed9 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -4,9 +4,7 @@ vfio_ss.add(files( 'container.c', )) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) -vfio_ss.add(when: 'CONFIG_VFIO_CCW', if_true: files('ccw.c')) vfio_ss.add(when: 'CONFIG_VFIO_PLATFORM', if_true: files('platform.c')) -vfio_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) @@ -27,6 +25,8 @@ system_ss.add(when: 'CONFIG_VFIO', if_true: files( system_ss.add(when: ['CONFIG_VFIO', 'CONFIG_IOMMUFD'], if_true: files( 'iommufd.c', )) +system_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) +system_ss.add(when: 'CONFIG_VFIO_CCW', if_true: files('ccw.c')) system_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( 'display.c', 'pci.c', From patchwork Sat Mar 8 23:09:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14007999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6967FC282EC for ; Sat, 8 Mar 2025 23:13:47 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3L0-0001gv-Sw; Sat, 08 Mar 2025 18:12:12 -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 1tr3KD-0000Ws-8V for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:24 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3KA-0001cc-35 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:20 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-39130ee05b0so1688723f8f.3 for ; Sat, 08 Mar 2025 15:11:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475476; x=1742080276; 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=Krkj4W9PXI2bbr9HKRBnaek4mFUNomZTUnghoZDAa+8=; b=os90LoBHFlka3zPbfNT7wB5Zrq4F7WLIMNC9IUBxaQRU1WgWC++RMljkQPwG541nbd fDzZiNraVncksdDFS3kbX2vCzxhr1pUlwW1m/mKFLxVfsDxJRzyXc1N9cskXKuPYhFul wwIS4zA6rDVsOsuVOerPoIzU4JcnXfXIRXeZA3KysHJ9MTKFfH9FceZOQ7Bn76I/9gLN jdmt5Uh7amXLAZxHFF1BvROWVwkLRjL0pcCKIksFj9d+b7IU9UVbUQd6HoJKuZ5FLylY NjYpfS9z0YfGVLrF5F3RLNwQMECrSI0XErn0Gt2+1e+7aBzj69ARcWcUSuVLQeV+EYsH 90Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475476; x=1742080276; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Krkj4W9PXI2bbr9HKRBnaek4mFUNomZTUnghoZDAa+8=; b=pzTNBmfpUN8oNkx2V6Jr9Pn+QjRrHRJAuhtu+hF+AmaLJVloSrNhwktaI/WIV6692L ij8CV7oyDZYDxT1gPE5kAvpAC5MWS6bk0GJb7ZWF1dM/8tmKxWhi4UYkhEj2FogU5OhY t5Z4SZyhFqJ+mSaRgftInDN93Xw+tswMketH+g9gM7TzJeCrcFYAvYJYI7vGlE+cRtoV PxCuGZ2aJoV1y3cQ/YnB+USpjpoecAoiqjyqgykzIOHGiPQh2eRXdJuDIEnstEWiVlXj 5ahc1r2lXwUYyjj2dLtp+KLIi093yPnaRR4m9ldVRrSqWA9xL4Qo6r9Opw7NGtq6fwTJ 2NKw== X-Gm-Message-State: AOJu0YyFGgiD8l5aI+7YVCvgmvQOurt9S1NAKtfIXzoVtuzXySm/MYHo 4S2TcfadeMKDEFxGJ/aKdwvp0vcEZg4kvjioKbYKuFfjOHzOebRg2OGtN3YPkrrPGGLr2GwPC7V pBLw= X-Gm-Gg: ASbGncvqUP7SK6dmvIscy9PWhGGjXHVmGC0tUbyn26SEJ9UMghTV4C1njc5eyX2flQs IAzub4nap4e6LqUZHXpMeLkZgoiTi5S72vP18y1L53uiAjwy/13YORfveiWI+xPw5vv0NB26J+6 wlmVdwkTVD29nZTPqdGTJh8nXLkunmdCIU59aybwG9aynUkWU0AVAhy/X1EWb4YG0MgyvM7XsZW VaZi37CmYSHAsCr3uQCxLtyhe60UPHarGoduiNSzFA32i1ubsoJxEb/O+3ULd4feH0+y/xX36zw iiMFRV1LPmjf1pFJyUlBLDqOlwpf2u9UC/2WAOAmE/xQPLPsX2q9JBUlOrxXvDZaXKVN28GffWN OVdVTalNFBCd/FfHH/Zo= X-Google-Smtp-Source: AGHT+IEi5WAhR9L6pJSrF/tDnKMBfesHPV2+gJAeMrFmEGRf8Nfb1OcWHH46hcW/pc42V1sIDxqOTg== X-Received: by 2002:a5d:598f:0:b0:391:412b:e22b with SMTP id ffacd0b85a97d-391412be5e4mr1168437f8f.18.1741475476383; Sat, 08 Mar 2025 15:11:16 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c01de21sm10233750f8f.59.2025.03.08.15.11.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:11:15 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 20/21] hw/vfio/platform: Check CONFIG_IOMMUFD at runtime using iommufd_builtin Date: Sun, 9 Mar 2025 00:09:16 +0100 Message-ID: <20250308230917.18907-21-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Convert the compile time check on the CONFIG_IOMMUFD definition by a runtime one by calling iommufd_builtin(). Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/platform.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c index 67bc57409c1..265c550b747 100644 --- a/hw/vfio/platform.c +++ b/hw/vfio/platform.c @@ -15,7 +15,6 @@ */ #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include "qapi/error.h" #include #include @@ -637,10 +636,11 @@ static const Property vfio_platform_dev_properties[] = { DEFINE_PROP_UINT32("mmap-timeout-ms", VFIOPlatformDevice, mmap_timeout, 1100), DEFINE_PROP_BOOL("x-irqfd", VFIOPlatformDevice, irqfd_allowed, true), -#ifdef CONFIG_IOMMUFD +}; + +static const Property vfio_platform_dev_iommufd_properties[] = { DEFINE_PROP_LINK("iommufd", VFIOPlatformDevice, vbasedev.iommufd, TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), -#endif }; static void vfio_platform_instance_init(Object *obj) @@ -652,12 +652,10 @@ static void vfio_platform_instance_init(Object *obj) DEVICE(vdev), false); } -#ifdef CONFIG_IOMMUFD static void vfio_platform_set_fd(Object *obj, const char *str, Error **errp) { vfio_device_set_fd(&VFIO_PLATFORM_DEVICE(obj)->vbasedev, str, errp); } -#endif static void vfio_platform_class_init(ObjectClass *klass, void *data) { @@ -666,9 +664,10 @@ static void vfio_platform_class_init(ObjectClass *klass, void *data) dc->realize = vfio_platform_realize; device_class_set_props(dc, vfio_platform_dev_properties); -#ifdef CONFIG_IOMMUFD - object_class_property_add_str(klass, "fd", NULL, vfio_platform_set_fd); -#endif + if (iommufd_builtin()) { + device_class_set_props(dc, vfio_platform_dev_iommufd_properties); + object_class_property_add_str(klass, "fd", NULL, vfio_platform_set_fd); + } dc->vmsd = &vfio_platform_vmstate; dc->desc = "VFIO-based platform device assignment"; sbc->connect_irq_notifier = vfio_start_irqfd_injection; @@ -692,11 +691,11 @@ static void vfio_platform_class_init(ObjectClass *klass, void *data) object_class_property_set_description(klass, /* 2.6 */ "sysfsdev", "Host sysfs path of assigned device"); -#ifdef CONFIG_IOMMUFD - object_class_property_set_description(klass, /* 9.0 */ - "iommufd", - "Set host IOMMUFD backend device"); -#endif + if (iommufd_builtin()) { + object_class_property_set_description(klass, /* 9.0 */ + "iommufd", + "Set host IOMMUFD backend device"); + } } static const TypeInfo vfio_platform_dev_info = { From patchwork Sat Mar 8 23:09:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 14008000 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 63F81C282EC for ; Sat, 8 Mar 2025 23:13:50 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr3LN-0002f3-GX; Sat, 08 Mar 2025 18:12:33 -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 1tr3KI-0000ZX-2L for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:28 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr3KF-0001dg-EP for qemu-devel@nongnu.org; Sat, 08 Mar 2025 18:11:25 -0500 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-391342fc148so1080070f8f.2 for ; Sat, 08 Mar 2025 15:11:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741475481; x=1742080281; 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=prGg0Jp93h0bTm2Rvsy5eDeK3CFMwhrsFj/MryWjJGE=; b=sYYhYi+Nq8tAEi6Sg2/cM1k/118jecdG2eR8XYOvYZCxthNMIoML9nTeQtm1Vryc9o oUPkKQR8V3vQzs+5bCVpA9QY0gCwC1Zuz6G9SrtvjejJBt6yiSUa2sm6hvytN9zysXDe 9FFPvcOfKrt3ckAr7a1UXNCFuClOD4UhtLcytgWLFb5NqZOs2Eg6v3MVABXgskeWt7Rh QqCC0BC7hDGsO6e2cYynWbcbmcczyB6nm3qyJcF01bgbs1cTo1s7OnBkd91u//7LIwWK p/Pi+A3bSi3yJPo7MfJ+Cq6IjhLV9QF7g6/zs78Ci35fkIhFqwB0nsmPRq/k56v4EJh2 8Isg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741475481; x=1742080281; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=prGg0Jp93h0bTm2Rvsy5eDeK3CFMwhrsFj/MryWjJGE=; b=RCyU18YSBcavm0aajS7eOxtbB4A8u6yJ3dfJuSydRwxYG3bsnUY/LdjbC83mI32KmA 1xGFVGA4yW12ONmCeVQUxrVd8Z/ZA2UG11g/aZgELXCvjF3N/iDBNkk7OT/xCuqooSSd FY5O0G1tQTG1W/REYHkc6FP21xlTGYTze/6bLtiSJzW6+f1QkIkCtKANGSXA5vB5Kt4j LjgHypITzR0ds0zHR44pmqWvnvYx5dLYUrc0JiFYflf7ivhxDPyZ74+j2efUFLANAaue abGbE2xYRbZBjOVEa0xPhsbLbIaT+vqjCIvt7pV8qvwsgo6NwrJfPy1SYNgPGI7XUm6x Jt8A== X-Gm-Message-State: AOJu0Yw0JLO24689Tuj8EyXXUKr9FsKubT8hTqKvDIcOn4ExhX/IKwJl yvJJgf2As37sCDIUonR+7xA7wJgIHbv1f76BvK5XZD/Ke3pb8JfjJ4ew7X7LVoiNkWgbfi3iwRf W/Jw= X-Gm-Gg: ASbGncuT6R/TCoavvTfTZEY7tElPqUxwO9AyglkY1mrcy8XTin2ySmwoN52hxA95PF5 Ple2Ivh2oz03zTTEHSbHQoIXFvQmTiMAUBCh/9kMxbROHhRSrU7Ft6h0C5cR59T2z8IuVU4Zwlu iEl2AsPamR5QqRplIqieNsWIJXi14Mp51AXi7oHzuOWLrj6AX6N9eGrCwVHGcBgpacaBlxLqnIP uVpN3x07KPkB73UVJSsSLKldX60A/qwsOgAHGm6NQOm0c1pKl0aWQ9dhn8O0JT1d3AoSAJlX1pw yMV4VrZCtE3C89oKELePhlYsc9MS12InVaskHmtJyjytysMzcFSKH2uTx+DDdqnUWafMT/yvjd2 qaVe0QbVoV89ERIBNst8= X-Google-Smtp-Source: AGHT+IH0XSNDzdAllhDd7qyOz0D5nItYuKr/ugMkLxptVro68gJqgXVXVwkqEYkZomhnl6ZBZh9Tiw== X-Received: by 2002:a05:6000:178a:b0:38f:210b:693f with SMTP id ffacd0b85a97d-39132de1c59mr4682001f8f.52.1741475481571; Sat, 08 Mar 2025 15:11:21 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c01d81csm10221905f8f.58.2025.03.08.15.11.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 15:11:21 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yi Liu , Pierrick Bouvier , Alex Williamson , Christian Borntraeger , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , Tony Krowiak , Nicholas Piggin , Halil Pasic , Thomas Huth , David Hildenbrand , Igor Mammedov , Matthew Rosato , Tomita Moeko , qemu-ppc@nongnu.org, Daniel Henrique Barboza , Eric Farman , Eduardo Habkost , Peter Xu , kvm@vger.kernel.org, Zhenzhong Duan , qemu-s390x@nongnu.org, Eric Auger , Paolo Bonzini , Harsh Prateek Bora , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Ilya Leoshkevich , Jason Herne , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PATCH v2 21/21] hw/vfio/platform: Compile once Date: Sun, 9 Mar 2025 00:09:17 +0100 Message-ID: <20250308230917.18907-22-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308230917.18907-1-philmd@linaro.org> References: <20250308230917.18907-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.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=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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Since the file doesn't use any target-specific knowledge anymore, move it to system_ss[] to build it once. Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/vfio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 3119c841ed9..2bcbd052950 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -4,7 +4,6 @@ vfio_ss.add(files( 'container.c', )) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) -vfio_ss.add(when: 'CONFIG_VFIO_PLATFORM', if_true: files('platform.c')) specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) @@ -27,6 +26,7 @@ system_ss.add(when: ['CONFIG_VFIO', 'CONFIG_IOMMUFD'], if_true: files( )) system_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c')) system_ss.add(when: 'CONFIG_VFIO_CCW', if_true: files('ccw.c')) +system_ss.add(when: 'CONFIG_VFIO_PLATFORM', if_true: files('platform.c')) system_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( 'display.c', 'pci.c',