From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856101; cv=none; d=zohomail.com; s=zohoarc; b=ThGZY7n9Ddu12E1tzXpPAUvt1kKDHKXgpa0/lpShan4UtbAw/WXsdzOIJ13NlvWvV0cWGkHPxHiKsX80qsLEgUROZEF1JTJ8sdCpmjPUtZxzodCPCkjhOzKoM3nTgl2mN3CX0FYnmgWK2kVUgCcwSV5muk4LXXOB2qTCOsHSjck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856101; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UGp5LxAmYWTKuDMXym/h2A+YdJTwFfJW4kvCbf6qbNk=; b=EAFHGxEOgu8ZKx1fZPQGR5GOmg8QJFFrgs5oKQhk66Vam27g4dq6aPjZvmRYqikiSedh/HFHkUDQyPqC8NU9s5G0b+XVT86DLz0gJbBZwxwZXqdgDSdCr8Pz3dIabxytrHpltveLEk/kk3x1NA3BorV2xlCgFfGX1z8BW0yojT0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856101043687.3063336517455; Wed, 18 Mar 2026 10:48:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzl-0001zx-Tl; Wed, 18 Mar 2026 13:47:50 -0400 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 1w2uzf-0001z0-Sd for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:44 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzd-0005o0-Mm for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:43 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2aecc6b0861so269935ad.2 for ; Wed, 18 Mar 2026 10:47:40 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856059; x=1774460859; 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=UGp5LxAmYWTKuDMXym/h2A+YdJTwFfJW4kvCbf6qbNk=; b=pVVRkDFqPaOidYm3P43KAn2yKyzASL8czlESJMAiWtPdmU+WGeP9uGSTtm1MQJCHJ0 jmrUz4sKuzwXX+SFgcEjLusrMT4Qa0x6Ktkh6q98WgsCdu/TvdqKU7ZMlDsy2h3qaAiR FO3RvqWs+F+Etz9/qpbH5EdXO8cl4thgNjlZeG+M/gn3pLsa4iDU95qkqmbHJ1StfPRV OzAXzFn/Bjo3GWOC+PkmFhp02Q2q4V/Dr2lIUJSVnCkYuDVRCQiuI3w1PxLzxcDDROnf 3yz6RllMXe+a54wEih7/tFcrRt1K6aMnzk1qJD/PXm6KC0sQ25amk2hCNe7MUC4ZAK1p 18ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856059; x=1774460859; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UGp5LxAmYWTKuDMXym/h2A+YdJTwFfJW4kvCbf6qbNk=; b=f2JFXwJA7OSom0qQjDYjp2mytZ40iPljx6x+CLzQ3B8bK5zpeXXYJpLwWICSqT6gsk Z6AfkkrDLNxh9kNf8e1V+4iZugCNnZxqL2IdsRYTYkaddMvsrcgGSgHxDCBfiS0bG4h+ T4Xn/oLcZyxNJr7tUNLgnEl/rwsQ9S623clh5Gnc0njaqmSJFsX3Ch90spqwPX6CkEtB qyDGwgIiLyVB7r4hlOyKreeeNWsGgmUmW8slitwLJ4EPW+UJAoKfmw8PJmoVZWzi1MsS kGWQcnmQQfAyAzUC9RD5TeSDWdLE1WvMopwJnpYjpHuAp1PPeBfXN0sHtfkUHWiaaXcS CeFQ== X-Gm-Message-State: AOJu0Yy2SPG/GdS4WT9FC6ymcRZGLbN+0H/D17Y2WUlP0nSG50yXQgEG 7chGI0j/bLFwQfXyHncZCRufn9Yt3rrf7lHE0mKbM17bxAq7kJbmficQJM41azwq03UG0pVKl8n 9/DVCuuE= X-Gm-Gg: ATEYQzwAxufjgDeH5ZjjMx32phTm3BphjiuQ0vAwnOcTzWGZpqNJvNxMLoheDvwI7/G dGyg/pCJV37DVQJoi6jVk7hiDCP+7YyX+K/kNXcTKOY/77h6Qhsrsj1EkelE5L0pCWXqo0NGdhi kqC/GS681JWi7QTIO6yf7AyCVGRb636Ov10iLTaYSg6vAwtee/OwGeXkv6L/mP+JNWmnXZ28XYo gNv3/PCUReLkcScT3M/TXfGmNw/IgeFWXP9ILI5AMcE+QNMHDdXHpMhL3CC/T6i9egF1MheBSeE MwZqeP0OqZ/8mpexD/B5qcPImexjfRC58TuEREXZG0Qba8NJV5lL5mWKESBAM5OlafPsa009qdm 0O7Ex5PH4rp1o89U3qFY67R6iphwO+iLhjq6UV13AhSfzr8yBcz5utOOfx1X2XVFb4H2tEO53YC Ek64Yd76F1MiaHpvuUDWuyeU+Ao7q86JeoOBLpHTkQeZTzfHFJGIIPV0gmc2NvgiU1DAU8Pd1p1 sLuTpnTbUS64p4= X-Received: by 2002:a17:902:d506:b0:2ae:803e:6c0d with SMTP id d9443c01a7336-2b06e34dee9mr45552205ad.19.1773856059176; Wed, 18 Mar 2026 10:47:39 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 1/8] hw/vfio/listener.c: remove CONFIG_KVM Date: Wed, 18 Mar 2026 10:47:26 -0700 Message-ID: <20260318174733.1717643-2-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62b.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856101875158500 Code concerned is under a kvm_enabled() guard. Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/listener.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hw/vfio/listener.c b/hw/vfio/listener.c index 960da9e0a93..31c3113f8fb 100644 --- a/hw/vfio/listener.c +++ b/hw/vfio/listener.c @@ -20,9 +20,7 @@ =20 #include "qemu/osdep.h" #include -#ifdef CONFIG_KVM #include -#endif #include =20 #include "exec/target_page.h" @@ -303,11 +301,9 @@ static bool vfio_ram_discard_register_listener(VFIOCon= tainer *bcontainer, if (bcontainer->dma_max_mappings) { unsigned int vrdl_count =3D 0, vrdl_mappings =3D 0, max_memslots = =3D 512; =20 -#ifdef CONFIG_KVM if (kvm_enabled()) { max_memslots =3D kvm_get_max_memslots(); } -#endif =20 QLIST_FOREACH(vrdl, &bcontainer->vrdl_list, next) { hwaddr start, end; --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856154; cv=none; d=zohomail.com; s=zohoarc; b=nZFSHP7NGXm0NkMxT6m+r8pQ1iOw2wkEOQketuU5xLrahdl4nOtdPIWWZmVg4I+zOcd9xq3qkqTL3/50VGZUiOy5i0SSd/QVtz2dqf+NOKNBQOJRIze+t+Ud0jWjsu78MQPiZ4uC+LqtCIpfLbQqoz8UUBNjv2fHKbDIaZ+YzbI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856154; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Wg3l86J4Mr25+rkQyEjziZ0gWLQDxkgWnrfmi6Gz93U=; b=BQverKclgduI1FGhs35OikjS3C2ayYN7yUEYl1CXTsvZbQOvSRHdkhkyzu8MH76BPaam/8ieuAFM6UGT1aBfF2hXhekw8FzbqWKzsmUG6rvH4QNv9N+7KlLAVhy1hlpfbyn69NsSeeDTw85HtAg7lLJ7fYrB3qaQgv8lG74CU4o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856154697574.7006996267321; Wed, 18 Mar 2026 10:49:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzq-00023p-3D; Wed, 18 Mar 2026 13:47:54 -0400 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 1w2uzg-0001zM-ER for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:45 -0400 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzd-0005oG-Qr for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:44 -0400 Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-35b9d29480aso163614a91.1 for ; Wed, 18 Mar 2026 10:47:41 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856060; x=1774460860; 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=Wg3l86J4Mr25+rkQyEjziZ0gWLQDxkgWnrfmi6Gz93U=; b=Lz01B+T2XsC3NHtVOV/vinF3JHBZjBaelmk5yPbdisQ7YbMBOrW69ClXYLvjnxRmfJ O4AjmGm8BRkapOJL2plD3DHLFEWUmOEmJFd8Mpt742ycMFjOBJZVqgrIulEuqOAciW4G N73DzIzJ+mphk7U7+wnh5osSV0CghLZquCQo66+X/5DhUk9gMLwHHa6vjO/rZO1RSaTp WzF5R6GXF3vUes1PVP+Mui8YS0kIK9ELsZtZVbAZudRWF5CEfcF/bXaKUIP0SYPmH3V6 kNGgvZDpV8sd3HVktxefCGWz/r7psLWoxrrw8QM9sBLS4x84IvDDLZ7qETpRYjUKbqJu xCNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856060; x=1774460860; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Wg3l86J4Mr25+rkQyEjziZ0gWLQDxkgWnrfmi6Gz93U=; b=suSEZT9BM1gS8zVDGiGfdg5MO/TRQBpTCChOEJnYy5pfRzGDOnoVCJwNl9qBB4T23u HFCkZTjhMR6lrBiwBPA/QcixiNL3epHfF5T0gIO+qcNzhgDJ7qdIgaYPgrYzdzHySH+N /EDsc1Z0/gxW8eEsQrNcue6VKAP80KzboXNeVPJtAQvqtSsCzahZAYSyFAcUsAD6cLQT YsB86h65Llugi41EC3/mShktlanCcNvPPmC/xDpz6NwWgav7BY7a59XWr4POxbYzyJnK 8olYsOBSu4FtvR7p6b+YbgPSFaNAVmH4g7gWl+6x0QQ8b9ypMu/3FRylF5HS7UaBmEZ1 J28Q== X-Gm-Message-State: AOJu0YzPEGvJzzvvjo7hYSiTaMbvSmCgg5Ia9/hf41DLtiR8jDVgPBwA thTjmgo48rL28t8B3SvQEBejxguvgUWU+qaymH3ankv5N3CkJPiCKjFgxjGwgILjYDXGY4IpqcZ MdGSVi8Q= X-Gm-Gg: ATEYQzzUycvlzu6bWr/azGd4how5n9MmT2HbsRb9NjDd5SK0i+4ipXvODBoswcKczfA kD2Sy38wV34Zdxt0AZPHB22L/Uq4ChaLCqFoZ/pf3FR49lBmRt/3vYUFbucIX6nAVJ7RTl9AMde Rh8QFPp5eLMqyZHvIFDuVsYVqvW7IrPaPYotw4aANmK7XMKicIALej+gAjq/exdt7usuEjiIXLW 2GZcZbrAxCdzBAdRaX+ug+AEKRI4+Br+Y2RVR7C3cByze5Q5NJHCxtZlzzzG9wghfYvWG9pEFxa hV2JYsgzzYlCwH9ML5inbWFPXu8VRuBb09rBIpww+D4TGJCmINhzxD5tijMmj0YybKDe2YDgGH6 RasAyURlh7UPQlE7V45C4AnLSWwTB7TLn3mF3rSo+849ftLF1S/cpsey46DfIr9O+cl3J5w0VtE 7z9i3GqanBKjrJZnyU+I5GsX5c/R90cIz4RGq8/A9HvP3jSQnhoWWIjl8Xh6KgWKP2bBxzg4aTF KC+ X-Received: by 2002:a17:902:ea0a:b0:2ae:ceb0:d5f7 with SMTP id d9443c01a7336-2b06e43fc20mr41709805ad.52.1773856060134; Wed, 18 Mar 2026 10:47:40 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 2/8] hw/vfio/helpers.c: extract kvm helpers in kvm-helpers.c Date: Wed, 18 Mar 2026 10:47:27 -0700 Message-ID: <20260318174733.1717643-3-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1034; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pj1-x1034.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856156925154100 Because those functions use kvm specific types, they need to be isolated in another source file. This allows us to link kvm-helpers only in configurations with CONFIG_KVM. Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/helpers.c | 172 ------------------------------------- hw/vfio/kvm-helpers.c | 192 ++++++++++++++++++++++++++++++++++++++++++ hw/vfio/kvm-stubs.c | 26 ++++++ hw/vfio/meson.build | 2 + 4 files changed, 220 insertions(+), 172 deletions(-) create mode 100644 hw/vfio/kvm-helpers.c create mode 100644 hw/vfio/kvm-stubs.c diff --git a/hw/vfio/helpers.c b/hw/vfio/helpers.c index 00d42d3b98e..65c6dba0428 100644 --- a/hw/vfio/helpers.c +++ b/hw/vfio/helpers.c @@ -22,7 +22,6 @@ #include "qemu/osdep.h" #include =20 -#include "system/kvm.h" #include "exec/cpu-common.h" #include "hw/vfio/vfio-device.h" #include "hw/core/hw-error.h" @@ -107,177 +106,6 @@ bool vfio_get_info_dma_avail(struct vfio_iommu_type1_= info *info, return true; } =20 -#ifdef CONFIG_KVM -/* - * We have a single VFIO pseudo device per KVM VM. Once created it lives - * for the life of the VM. Closing the file descriptor only drops our - * reference to it and the device's reference to kvm. Therefore once - * initialized, this file descriptor is only released on QEMU exit and - * we'll re-use it should another vfio device be attached before then. - */ -int vfio_kvm_device_fd =3D -1; - -/* - * Confidential virtual machines: - * During reset of confidential vms, the kvm vm file descriptor changes. - * In this case, the old vfio kvm file descriptor is - * closed and a new descriptor is created against the new kvm vm file - * descriptor. - */ - -typedef struct VFIODeviceFd { - int fd; - QLIST_ENTRY(VFIODeviceFd) node; -} VFIODeviceFd; - -static QLIST_HEAD(, VFIODeviceFd) vfio_device_fds =3D - QLIST_HEAD_INITIALIZER(vfio_device_fds); - -static void vfio_device_fd_list_add(int fd) -{ - VFIODeviceFd *file_fd; - file_fd =3D g_malloc0(sizeof(*file_fd)); - file_fd->fd =3D fd; - QLIST_INSERT_HEAD(&vfio_device_fds, file_fd, node); -} - -static void vfio_device_fd_list_remove(int fd) -{ - VFIODeviceFd *file_fd, *next; - - QLIST_FOREACH_SAFE(file_fd, &vfio_device_fds, node, next) { - if (file_fd->fd =3D=3D fd) { - QLIST_REMOVE(file_fd, node); - g_free(file_fd); - break; - } - } -} - -static int vfio_device_fd_rebind(NotifierWithReturn *notifier, void *data, - Error **errp) -{ - VFIODeviceFd *file_fd; - struct kvm_device_attr attr =3D { - .group =3D KVM_DEV_VFIO_FILE, - .attr =3D KVM_DEV_VFIO_FILE_ADD, - }; - struct kvm_create_device cd =3D { - .type =3D KVM_DEV_TYPE_VFIO, - }; - - /* we are not interested in pre vmfd change notification */ - if (((VmfdChangeNotifier *)data)->pre) { - return 0; - } - - if (kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd)) { - error_setg_errno(errp, errno, "Failed to create KVM VFIO device"); - return -errno; - } - - if (vfio_kvm_device_fd !=3D -1) { - close(vfio_kvm_device_fd); - } - - vfio_kvm_device_fd =3D cd.fd; - - QLIST_FOREACH(file_fd, &vfio_device_fds, node) { - attr.addr =3D (uint64_t)(unsigned long)&file_fd->fd; - if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { - error_setg_errno(errp, errno, - "Failed to add fd %d to KVM VFIO device", - file_fd->fd); - return -errno; - } - } - return 0; -} - -static struct NotifierWithReturn vfio_vmfd_change_notifier =3D { - .notify =3D vfio_device_fd_rebind, -}; - -#endif - -void vfio_kvm_device_close(void) -{ -#ifdef CONFIG_KVM - kvm_close(); - if (vfio_kvm_device_fd !=3D -1) { - close(vfio_kvm_device_fd); - vfio_kvm_device_fd =3D -1; - } -#endif -} - -int vfio_kvm_device_add_fd(int fd, Error **errp) -{ -#ifdef CONFIG_KVM - struct kvm_device_attr attr =3D { - .group =3D KVM_DEV_VFIO_FILE, - .attr =3D KVM_DEV_VFIO_FILE_ADD, - .addr =3D (uint64_t)(unsigned long)&fd, - }; - - if (!kvm_enabled()) { - return 0; - } - - if (vfio_kvm_device_fd < 0) { - struct kvm_create_device cd =3D { - .type =3D KVM_DEV_TYPE_VFIO, - }; - - if (kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd)) { - error_setg_errno(errp, errno, "Failed to create KVM VFIO devic= e"); - return -errno; - } - - vfio_kvm_device_fd =3D cd.fd; - /* - * If the vm file descriptor changes, add a notifier so that we can - * re-create the vfio_kvm_device_fd. - */ - kvm_vmfd_add_change_notifier(&vfio_vmfd_change_notifier); - } - - if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { - error_setg_errno(errp, errno, "Failed to add fd %d to KVM VFIO dev= ice", - fd); - return -errno; - } - - vfio_device_fd_list_add(fd); -#endif - return 0; -} - -int vfio_kvm_device_del_fd(int fd, Error **errp) -{ -#ifdef CONFIG_KVM - struct kvm_device_attr attr =3D { - .group =3D KVM_DEV_VFIO_FILE, - .attr =3D KVM_DEV_VFIO_FILE_DEL, - .addr =3D (uint64_t)(unsigned long)&fd, - }; - - if (vfio_kvm_device_fd < 0) { - error_setg(errp, "KVM VFIO device isn't created yet"); - return -EINVAL; - } - - if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { - error_setg_errno(errp, errno, - "Failed to remove fd %d from KVM VFIO device", fd= ); - return -errno; - } - - vfio_device_fd_list_remove(fd); -#endif - return 0; -} - struct vfio_device_info *vfio_get_device_info(int fd) { struct vfio_device_info *info; diff --git a/hw/vfio/kvm-helpers.c b/hw/vfio/kvm-helpers.c new file mode 100644 index 00000000000..d71c9590aaa --- /dev/null +++ b/hw/vfio/kvm-helpers.c @@ -0,0 +1,192 @@ +/* + * low level and IOMMU backend agnostic helpers used by VFIO devices, + * related to regions, interrupts, capabilities + * + * Copyright Red Hat, Inc. 2012 + * + * Authors: + * Alex Williamson + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * Based on qemu-kvm device-assignment: + * Adapted for KVM by Qumranet. + * Copyright (c) 2007, Neocleus, Alex Novik (alex@neocleus.com) + * Copyright (c) 2007, Neocleus, Guy Zana (guy@neocleus.com) + * Copyright (C) 2008, Qumranet, Amit Shah (amit.shah@qumranet.com) + * Copyright (C) 2008, Red Hat, Amit Shah (amit.shah@redhat.com) + * Copyright (C) 2008, IBM, Muli Ben-Yehuda (muli@il.ibm.com) + */ + +#include "qemu/osdep.h" +#include + +#include +#include "system/kvm.h" +#include "exec/cpu-common.h" +#include "hw/vfio/vfio-device.h" +#include "hw/core/hw-error.h" +#include "qapi/error.h" +#include "vfio-helpers.h" + +/* + * We have a single VFIO pseudo device per KVM VM. Once created it lives + * for the life of the VM. Closing the file descriptor only drops our + * reference to it and the device's reference to kvm. Therefore once + * initialized, this file descriptor is only released on QEMU exit and + * we'll re-use it should another vfio device be attached before then. + */ +int vfio_kvm_device_fd =3D -1; + +/* + * Confidential virtual machines: + * During reset of confidential vms, the kvm vm file descriptor changes. + * In this case, the old vfio kvm file descriptor is + * closed and a new descriptor is created against the new kvm vm file + * descriptor. + */ + +typedef struct VFIODeviceFd { + int fd; + QLIST_ENTRY(VFIODeviceFd) node; +} VFIODeviceFd; + +static QLIST_HEAD(, VFIODeviceFd) vfio_device_fds =3D + QLIST_HEAD_INITIALIZER(vfio_device_fds); + +static void vfio_device_fd_list_add(int fd) +{ + VFIODeviceFd *file_fd; + file_fd =3D g_malloc0(sizeof(*file_fd)); + file_fd->fd =3D fd; + QLIST_INSERT_HEAD(&vfio_device_fds, file_fd, node); +} + +static void vfio_device_fd_list_remove(int fd) +{ + VFIODeviceFd *file_fd, *next; + + QLIST_FOREACH_SAFE(file_fd, &vfio_device_fds, node, next) { + if (file_fd->fd =3D=3D fd) { + QLIST_REMOVE(file_fd, node); + g_free(file_fd); + break; + } + } +} + +static int vfio_device_fd_rebind(NotifierWithReturn *notifier, void *data, + Error **errp) +{ + VFIODeviceFd *file_fd; + struct kvm_device_attr attr =3D { + .group =3D KVM_DEV_VFIO_FILE, + .attr =3D KVM_DEV_VFIO_FILE_ADD, + }; + struct kvm_create_device cd =3D { + .type =3D KVM_DEV_TYPE_VFIO, + }; + + /* we are not interested in pre vmfd change notification */ + if (((VmfdChangeNotifier *)data)->pre) { + return 0; + } + + if (kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd)) { + error_setg_errno(errp, errno, "Failed to create KVM VFIO device"); + return -errno; + } + + if (vfio_kvm_device_fd !=3D -1) { + close(vfio_kvm_device_fd); + } + + vfio_kvm_device_fd =3D cd.fd; + + QLIST_FOREACH(file_fd, &vfio_device_fds, node) { + attr.addr =3D (uint64_t)(unsigned long)&file_fd->fd; + if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { + error_setg_errno(errp, errno, + "Failed to add fd %d to KVM VFIO device", + file_fd->fd); + return -errno; + } + } + return 0; +} + +static struct NotifierWithReturn vfio_vmfd_change_notifier =3D { + .notify =3D vfio_device_fd_rebind, +}; + +void vfio_kvm_device_close(void) +{ + kvm_close(); + if (vfio_kvm_device_fd !=3D -1) { + close(vfio_kvm_device_fd); + vfio_kvm_device_fd =3D -1; + } +} + +int vfio_kvm_device_add_fd(int fd, Error **errp) +{ + struct kvm_device_attr attr =3D { + .group =3D KVM_DEV_VFIO_FILE, + .attr =3D KVM_DEV_VFIO_FILE_ADD, + .addr =3D (uint64_t)(unsigned long)&fd, + }; + + if (!kvm_enabled()) { + return 0; + } + + if (vfio_kvm_device_fd < 0) { + struct kvm_create_device cd =3D { + .type =3D KVM_DEV_TYPE_VFIO, + }; + + if (kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd)) { + error_setg_errno(errp, errno, "Failed to create KVM VFIO devic= e"); + return -errno; + } + + vfio_kvm_device_fd =3D cd.fd; + /* + * If the vm file descriptor changes, add a notifier so that we can + * re-create the vfio_kvm_device_fd. + */ + kvm_vmfd_add_change_notifier(&vfio_vmfd_change_notifier); + } + + if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { + error_setg_errno(errp, errno, "Failed to add fd %d to KVM VFIO dev= ice", + fd); + return -errno; + } + + vfio_device_fd_list_add(fd); + return 0; +} + +int vfio_kvm_device_del_fd(int fd, Error **errp) +{ + struct kvm_device_attr attr =3D { + .group =3D KVM_DEV_VFIO_FILE, + .attr =3D KVM_DEV_VFIO_FILE_DEL, + .addr =3D (uint64_t)(unsigned long)&fd, + }; + + if (vfio_kvm_device_fd < 0) { + error_setg(errp, "KVM VFIO device isn't created yet"); + return -EINVAL; + } + + if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { + error_setg_errno(errp, errno, + "Failed to remove fd %d from KVM VFIO device", fd= ); + return -errno; + } + + vfio_device_fd_list_remove(fd); + return 0; +} diff --git a/hw/vfio/kvm-stubs.c b/hw/vfio/kvm-stubs.c new file mode 100644 index 00000000000..5a489d1b711 --- /dev/null +++ b/hw/vfio/kvm-stubs.c @@ -0,0 +1,26 @@ +/* + * Stubs for kvm helpers + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" + +#include "hw/vfio/vfio-device.h" +#include "qapi/error.h" +#include "vfio-helpers.h" + +void vfio_kvm_device_close(void) +{ + return; +} + +int vfio_kvm_device_add_fd(int fd, Error **errp) +{ + return 0; +} + +int vfio_kvm_device_del_fd(int fd, Error **errp) +{ + return 0; +} diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 82f68698fb8..f2a7728d3d0 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -7,6 +7,8 @@ vfio_ss.add(files( 'container-legacy.c', 'helpers.c', )) +vfio_ss.add(when: 'CONFIG_KVM', if_true: files('kvm-helpers.c')) +stub_ss.add(files('kvm-stubs.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', --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856113; cv=none; d=zohomail.com; s=zohoarc; b=ZDZDPQ3SggcJV7ku/5U5NNzffC5OO+hHlov3QsRGzAyC87NG4UYJ+OxcwYpot95a2bUHxylYNZizvmXWzO7lSxvxw1FX0ZvmyFifMb188a4ajscy+UjJNRha4bzgowuDWAZpklET82AjIHhlOnULc/snpaSJZudLoHH6Jba/mfA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856113; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Isu00EW2YlgRGO8VPU3tjd6Ko/MUdKtIVB1rQeSkNIk=; b=HQMpg+u8vr9xT7fbofbGiJhLPRXp87ji5L7YVzl4oHnLTZJbwENnAzWCMoPaEtK7rCljFmnPjb/3L/hZg1YNfFTuikxOja2BPgShI2/Cw4nJGb+Bjr8+VH4FdbLROYvnXaNd5GSisEOpL+XyofQgRNS5PaahRStjRpTKvnx3wcE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856113673608.6140526226066; Wed, 18 Mar 2026 10:48:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzq-00024q-Nx; Wed, 18 Mar 2026 13:47:54 -0400 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 1w2uzi-000207-AD for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:48 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzf-0005oX-Kx for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:45 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2aae146b604so475455ad.3 for ; Wed, 18 Mar 2026 10:47:42 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856061; x=1774460861; 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=Isu00EW2YlgRGO8VPU3tjd6Ko/MUdKtIVB1rQeSkNIk=; b=JzW+6DvQJzAtOwBk9y/mXmDIW5fW/R1btrhUJRY38qLAe7vWh+/ulUQsXSgnRVVDvH 8RM7IB7iQFJf33OZ3xU+EIbXPqAfyXjUPQxWLDFduTm2HX8BoJO01t1J9NzqfFQNdYmi Yths65PWCLhE9cxcuSFlI69OB3SkoXZNaSxKclCV/pwg9CAh5auXMYAJ4RPukQW+zhWo SjPnlE/uqtrMBJBpNeRDZHGCcBmNByRgdQIkJ9csRqMdtfigT9LaL4bFEYBHxzF+th5e QD2on0mM43wT2Ba3b7Gnn40JmX0ILQV6CXl8Rob9GIL3vPGXP9eSlZNKSQlDlka6MA6k 7oug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856061; x=1774460861; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Isu00EW2YlgRGO8VPU3tjd6Ko/MUdKtIVB1rQeSkNIk=; b=gsU+Z9Cn//a7Zb4hZKQ4etRXnItXCEHQQ8V2yIwThfZIdKtpVfqdOsHeDgFD0e1oQW 8okVtMfDTp1ptLD8cZ3g4kzJABXLBN+/akcr9FfvYL2GwpPGhjGZlJOvN30GO4bD3Xw4 vqT9LvHGpfUbVx+ZdiwuhPCOKKV0D2/NpCOlx7gpXePZEzSG6lEDMFDor7E1Uw5aWYbl i8z87XwggEqNIsM1/xCsHiOWZM5nS9J1qXkOle+Ts0SfeOnfz5qNSENgPHThmZMeS6Bf 5EBCc5rSCmqjzcaBuIw5T21EUJs6U76RpDPX9/CWfOF8AKBY7vVUhqv/pk6eTmmDxowM KRxg== X-Gm-Message-State: AOJu0YyDcKNM/xJiPanCkb8OXEfaCIAWpokRm/LoMT6ohmfuM80sCmzC aiaCv8Ht6lq5IY0a6Sxt54icBOYwerA8fHkNNP7n/Tmtw4BJ7epbm1dndhD/t+JAmSP8SfVAMbM JZ3LatQc= X-Gm-Gg: ATEYQzz2hJy3WbKN3CxZnK2shUSS/QKuD44/OIyJrLPC79am2XpMsP7QX1pAaUBGOEo 91y9eurdzoeN7p9Yhsdt+iyyPnxYuzKPVx0lYM89WVyqbZviuBS/KqpTr3laI6A5WbFWbIZh5Fo QbGt6Gxf21Cvq4QmIN5nOroRAs8Pt4fKOKK155maQnFXN32QuFuIkzCTZ8dqIuAPhTw/xt2QBHb PBeXTmDScFHoskWdn6ZjSEMkBgfnlJFjTY6LpN1FyHqrestat27AI8PsFt4mlDxp1sesE6HbZzM lumqW4l+frW0ipfloXkKGciAxfB/71zzn8mWh7XCNfaYk7hxnXpmpTbDhAHcHvWFEWTE0BJ6BCY +jrnMbpeB0BFMFp/QG9yFGFq92t3tNuKlli3AS+t4qi1+Wes7RYqTPzQc00cWHPvMqaEVfEPvM9 uqcy5yn3lntUUs5zZgkfQwMefvzc67Js2Ub6814ZN1nOH6cD+5veOZNbD4hWTF6feJTVwF+U7Za GDB X-Received: by 2002:a17:903:b85:b0:2ae:7fbd:3dcd with SMTP id d9443c01a7336-2b06e44062dmr37780395ad.52.1773856061017; Wed, 18 Mar 2026 10:47:41 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 3/8] hw/vfio/pci-quirks.c: remove CONFIG_VFIO_IGD Date: Wed, 18 Mar 2026 10:47:28 -0700 Message-ID: <20260318174733.1717643-4-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62e.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856114257158500 Add stubs for needed functions. vfio_pci_hot_reset_info must be forwarded declared on non linux platforms: In file included from ../hw/vfio/igd-stubs.c:9: ../hw/vfio/pci.h:265:44: error: 'struct vfio_pci_hot_reset_info' declared i= nside parameter list will not be visible outside of this definition or decl= aration [-Werror] 265 | struct vfio_pci_hot_reset_info = **info_p); | Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/pci.h | 2 ++ hw/vfio/igd-stubs.c | 20 ++++++++++++++++++++ hw/vfio/pci-quirks.c | 5 ----- hw/vfio/meson.build | 1 + 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 hw/vfio/igd-stubs.c diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h index d6495d7f297..c3a1f53d350 100644 --- a/hw/vfio/pci.h +++ b/hw/vfio/pci.h @@ -258,6 +258,8 @@ bool vfio_probe_igd_config_quirk(VFIOPCIDevice *vdev, E= rror **errp); =20 extern const PropertyInfo qdev_prop_nv_gpudirect_clique; =20 +struct vfio_pci_hot_reset_info; + void vfio_pci_pre_reset(VFIOPCIDevice *vdev); void vfio_pci_post_reset(VFIOPCIDevice *vdev); bool vfio_pci_host_match(PCIHostDeviceAddress *addr, const char *name); diff --git a/hw/vfio/igd-stubs.c b/hw/vfio/igd-stubs.c new file mode 100644 index 00000000000..f7687d90912 --- /dev/null +++ b/hw/vfio/igd-stubs.c @@ -0,0 +1,20 @@ +/* + * IGD device quirks stubs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/qmp/qerror.h" +#include "pci.h" +#include "pci-quirks.h" + +void vfio_probe_igd_bar0_quirk(VFIOPCIDevice *vdev, int nr) +{ + return; +} + +bool vfio_probe_igd_config_quirk(VFIOPCIDevice *vdev, Error **errp) +{ + return true; +} diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index 7b907b9360d..ab864048943 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -11,7 +11,6 @@ */ =20 #include "qemu/osdep.h" -#include CONFIG_DEVICES #include "exec/memop.h" #include "qemu/units.h" #include "qemu/log.h" @@ -1128,11 +1127,9 @@ static void vfio_probe_rtl8168_bar2_quirk(VFIOPCIDev= ice *vdev, int nr) */ bool vfio_config_quirk_setup(VFIOPCIDevice *vdev, Error **errp) { -#ifdef CONFIG_VFIO_IGD if (!vfio_probe_igd_config_quirk(vdev, errp)) { return false; } -#endif return true; } =20 @@ -1179,9 +1176,7 @@ 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); -#endif } =20 void vfio_bar_quirk_exit(VFIOPCIDevice *vdev, int nr) diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index f2a7728d3d0..6c00a7f51bb 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -17,6 +17,7 @@ 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_AP', if_true: files('ap.c')) vfio_ss.add(when: 'CONFIG_VFIO_IGD', if_true: files('igd.c')) +stub_ss.add(files('igd-stubs.c')) =20 specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) =20 --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856139; cv=none; d=zohomail.com; s=zohoarc; b=Sd98PL0/0nUDkBnZXzZfRK6+qGX3inb5y+l8X5DQd0lpWrRXdkNspJ0W1PsPJe7TDqb9A59vnDCCdWiww5a+dnec+OZsqI/Bq5eZIaxTBxIrSGLWi+7B3PwnLL8p2je7SInQq6zPFz4Snsn/ux0r6zDUUSYxgz4HAKOA6px7+OY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856139; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lvlR81x866gY3qLaJHNGVc5nZ2VGdLAHBfrAYzTTWAY=; b=Bm1FH8FwV/9LlcAg6lAWxCuPxpo2wsl3qooMGARAxbiLBcVQktSAMZpZ2YyaJ0bL0VI9mhip2TiejDfm5ErKOpcj3mQaHbbrMxIv8pidkcvtv/NJ2TwIdGvLNYgCDzrAFG+Gt83tFCPssuYWrfIXBFhdK2j/MiSofrwAAjU3Kxo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856139755657.8684761479475; Wed, 18 Mar 2026 10:48:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzq-00024r-Ne; Wed, 18 Mar 2026 13:47:54 -0400 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 1w2uzi-000208-Ak for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:48 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzf-0005oy-Kx for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:45 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2aaf43014d0so508645ad.2 for ; Wed, 18 Mar 2026 10:47:42 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856062; x=1774460862; 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=lvlR81x866gY3qLaJHNGVc5nZ2VGdLAHBfrAYzTTWAY=; b=qrdPadGJ/wcwHkt+XBtFFQX3WBAvS8c+vo4uPd5zfEj5u4ecq5HOO8oS5n+cpCViAM XJ0odvYht7kZuQb2Ykx5ga1/jDlbAsGYCLQLEujSiNE+CE1zg01jGheo0WUbpyypH2eX kDE4xFP2X4MZmqnvM0+aWGbwtfZ4uJn0i1n3/hj3mPSQNC85j5DMJUFc3KNb2UQmdc6j KgTkgtTtUlaTczx5Y/Bj5LtF7E1lSm4CYaWOTuMefTklCeeBEaGG9x90bQPJUbONAhQN 13DBAEMSwjBBo3bRLO5Mlw/jfhNXiG+xC8d+JHCPpkrofnp+sNL31I41lzhLixJmESR4 R9LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856062; x=1774460862; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lvlR81x866gY3qLaJHNGVc5nZ2VGdLAHBfrAYzTTWAY=; b=qYONd+AfGbn25hVqImA2HkLjtCLm7wGzjXYAwrno/t3Pn/ZhNRX/17KNyeWuTlRHhz KOOIkm0iSMwrIL6FhhlaynKBpJ38bhII6cZDzpDtZ3EdUqraQo+gzn9khjrOWnkfLCiO H/GwTsVpRRQo0BNMsdLGTqeG68XkOzzvytIukYPPUqG6fa4MzCBYZudZiBU3LFsBk/OK T0C8EvgKM1DT8YPudfU3ix5ezmtmaeK9nTsLNTt841ScsHWunsRaiDasUbHqYZyFo7b+ CCcL7IDiObuqVrZ2SUXAXB/N4pg0Xe79tOYfNK9wf3CVcmzP/03f2FaZhduwefMwbZBx Tzow== X-Gm-Message-State: AOJu0YztsN5CYHef70TMsT6/22MzX6hfWFIYPwe4sRtnhUvGEdf6rT96 wVhpktWaDD2cY6RaxogYjl75xn3H+0B6hyfiPzt4Vo6hNc+jlADel1l8+aj3k+9CPfIbrFghOlh AsNyTQZE= X-Gm-Gg: ATEYQzx3mKAywtCF/ZqvtaQY6VT8eISXTGfjfp86IGfs9YaKh2rVZIpspBmm2OylSib pfvX+WOPbnnTZu3J9MYNHa5tpgDCjh7xfCwFbPgYKJEdAEX0364KiYLDn1Gk22uJWDn4+ea4tLg s1AqgSCBNdIZnCJtpRumaOC/gEb6GaEorBFo98bKqr8gwX+vVrMtaPogcp0OOlnyZ3BeWYMcs1G cqehbBmnMMQWSS/85HrYQPQmXUfpzy1jk9utxti0p6ht97SGATmy6P+A3pOb1sXIE/1rP6mlbu6 imXMDSfscud/Orm/RsTiAVWmVx1aC4rw1uGSCsYBjBM6Cb/SeVbx7S1Ryf04om9tlArhJjn9gni pu6KY4zh6SMgNLEsVj6PWyowUtERgV8WPq00Q2Je8kXKY661T0T8BCwxQ/CCD7HrNVqYwpuQnqB JbVBsqEFdRTLoSKKniU8hNBFDrTFkGM20KExP31mSIRpufyANQz+ASgYFlRq/WEmU0onR2AuCiT 7cg X-Received: by 2002:a17:902:bc46:b0:2ae:a928:f540 with SMTP id d9443c01a7336-2b06e323a2amr27560655ad.6.1773856061822; Wed, 18 Mar 2026 10:47:41 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 4/8] hw/vfio: eradicate CONFIG_IOMMU from sources Date: Wed, 18 Mar 2026 10:47:29 -0700 Message-ID: <20260318174733.1717643-5-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x629.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856140350158500 Content-Type: text/plain; charset="utf-8" This commit removes usage of CONFIG_IOMMU in hw/vfio sources, exposing inconditionally iommufd related properties, which are declared statically (in const arrays). The alternative to expose them dynamically is more complex and requires boilerplate to set properties at runtime, with set_* callbacks and added logic to check if iommufd backend is available, with no obvious benefit. One possible difference is that user may see a different error message when trying to attach a vfio device with a QEMU not supporting iommufd, without declaring iommufd object associated. Instead of: ``` $ qemu-system-* -device vfio-pci,host=3D0000:01:00.0,iommufd=3Diommufd0 qemu-system-*: -device vfio-pci,host=3D0000:01:00.0,iommufd=3Diommufd0: Pro= perty 'vfio-pci.iommufd' not found ``` User will now see: ``` qemu-system-aarch64: -device vfio-pci,host=3D0000:01:00.0,iommufd=3Diommufd= 0: Device 'iommufd0' not found ``` However, since declaring the iommufd object is needed, error reported before and after is still the same: ``` $ qemu-system-* -object iommufd,id=3Diommufd0 -device vfio-pci,host=3D0000:= 01:00.0,iommufd=3Diommufd0 qemu-system-*: invalid object type: iommufd ``` Signed-off-by: Pierrick Bouvier Reviewed-by: C=C3=A9dric Le Goater Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/ap.c | 9 --------- hw/vfio/ccw.c | 9 --------- hw/vfio/pci.c | 11 ----------- 3 files changed, 29 deletions(-) diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index e58a0169af9..856fa2678cd 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -11,7 +11,6 @@ */ =20 #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include #include #include "qapi/error.h" @@ -279,10 +278,8 @@ static void vfio_ap_unrealize(DeviceState *dev) =20 static const Property vfio_ap_properties[] =3D { DEFINE_PROP_STRING("sysfsdev", VFIOAPDevice, vdev.sysfsdev), -#ifdef CONFIG_IOMMUFD DEFINE_PROP_LINK("iommufd", VFIOAPDevice, vdev.iommufd, TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), -#endif }; =20 static void vfio_ap_reset(DeviceState *dev) @@ -320,21 +317,17 @@ static void vfio_ap_instance_init(Object *obj) vbasedev->mdev =3D true; } =20 -#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 =20 static void vfio_ap_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 device_class_set_props(dc, vfio_ap_properties); -#ifdef CONFIG_IOMMUFD object_class_property_add_str(klass, "fd", NULL, vfio_ap_set_fd); -#endif dc->vmsd =3D &vfio_ap_vmstate; dc->desc =3D "VFIO-based AP device assignment"; set_bit(DEVICE_CATEGORY_MISC, dc->categories); @@ -347,11 +340,9 @@ static void vfio_ap_class_init(ObjectClass *klass, con= st void *data) object_class_property_set_description(klass, /* 3.1 */ "sysfsdev", "Host sysfs path of assigned dev= ice"); -#ifdef CONFIG_IOMMUFD object_class_property_set_description(klass, /* 9.0 */ "iommufd", "Set host IOMMUFD backend device= "); -#endif } =20 static const TypeInfo vfio_ap_info =3D { diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index 2251facb356..c66f42a13c2 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -15,7 +15,6 @@ */ =20 #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include #include #include @@ -647,10 +646,8 @@ static void vfio_ccw_unrealize(DeviceState *dev) static const Property vfio_ccw_properties[] =3D { DEFINE_PROP_STRING("sysfsdev", VFIOCCWDevice, vdev.sysfsdev), DEFINE_PROP_BOOL("force-orb-pfch", VFIOCCWDevice, force_orb_pfch, fals= e), -#ifdef CONFIG_IOMMUFD DEFINE_PROP_LINK("iommufd", VFIOCCWDevice, vdev.iommufd, TYPE_IOMMUFD_BACKEND, IOMMUFDBackend *), -#endif DEFINE_PROP_CCW_LOADPARM("loadparm", CcwDevice, loadparm), }; =20 @@ -679,12 +676,10 @@ static void vfio_ccw_instance_init(Object *obj) DEVICE(vcdev), true); } =20 -#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 =20 static void vfio_ccw_class_init(ObjectClass *klass, const void *data) { @@ -692,9 +687,7 @@ static void vfio_ccw_class_init(ObjectClass *klass, con= st void *data) S390CCWDeviceClass *cdc =3D S390_CCW_DEVICE_CLASS(klass); =20 device_class_set_props(dc, vfio_ccw_properties); -#ifdef CONFIG_IOMMUFD object_class_property_add_str(klass, "fd", NULL, vfio_ccw_set_fd); -#endif dc->vmsd =3D &vfio_ccw_vmstate; dc->desc =3D "VFIO-based subchannel assignment"; set_bit(DEVICE_CATEGORY_MISC, dc->categories); @@ -713,11 +706,9 @@ static void vfio_ccw_class_init(ObjectClass *klass, co= nst 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 object_class_property_set_description(klass, /* 9.2 */ "loadparm", "Define which devices that can b= e used for booting"); diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 94c174a773f..df617f1fe46 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -19,7 +19,6 @@ */ =20 #include "qemu/osdep.h" -#include CONFIG_DEVICES /* CONFIG_IOMMUFD */ #include #include =20 @@ -3471,9 +3470,7 @@ static void vfio_pci_realize(PCIDevice *pdev, Error *= *errp) ~vdev->host.slot || ~vdev->host.function)) { error_setg(errp, "No provided host device"); error_append_hint(errp, "Use -device vfio-pci,host=3DDDDD:BB:D= D.F " -#ifdef CONFIG_IOMMUFD "or -device vfio-pci,fd=3DDEVICE_FD " -#endif "or -device vfio-pci,sysfsdev=3DPATH_TO_DEVI= CE\n"); return; } @@ -3816,22 +3813,18 @@ static const Property vfio_pci_properties[] =3D { qdev_prop_nv_gpudirect_clique, uint8_t), DEFINE_PROP_OFF_AUTO_PCIBAR("x-msix-relocation", VFIOPCIDevice, msix_r= elo, 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= ), DEFINE_PROP_UINT16("x-vpasid-cap-offset", VFIOPCIDevice, vpasid_cap_offset, 0), }; =20 -#ifdef CONFIG_IOMMUFD static void vfio_pci_set_fd(Object *obj, const char *str, Error **errp) { VFIOPCIDevice *vdev =3D VFIO_PCI_DEVICE(obj); vfio_device_set_fd(&vdev->vbasedev, str, errp); } -#endif =20 static void vfio_pci_class_init(ObjectClass *klass, const void *data) { @@ -3840,9 +3833,7 @@ static void vfio_pci_class_init(ObjectClass *klass, c= onst void *data) =20 device_class_set_legacy_reset(dc, vfio_pci_reset); device_class_set_props(dc, vfio_pci_properties); -#ifdef CONFIG_IOMMUFD object_class_property_add_str(klass, "fd", NULL, vfio_pci_set_fd); -#endif dc->vmsd =3D &vfio_cpr_pci_vmstate; dc->desc =3D "VFIO-based PCI device assignment"; pdc->realize =3D vfio_pci_realize; @@ -3944,11 +3935,9 @@ static void vfio_pci_class_init(ObjectClass *klass, = const 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 object_class_property_set_description(klass, /* 9.1 */ "x-device-dirty-page-tracking", "Disable device dirty page track= ing and use " --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856137; cv=none; d=zohomail.com; s=zohoarc; b=G4rlgd4sGcxEFwyUzUrbdjGsZ7h7SvB63uZyFs3peDX/+zGTEQYFEPX5qN6P/1PUHAIRkeONSSE7iefhEpqCTIy1ijCuvWGoM+/xQMqUiomy+rbZnnigV13YWRHpvOI+8NQ8nZWYFzxsGMxYkcOUQD9cK3P1rYC0/JrG0g2TGSQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856137; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WdPki2OUDvv7GbdAB4TVVTocQqYHi/i0OX7XXacQtPQ=; b=faB7iVejOdBFpjq9erjtXkiuEbch3kJ3DZ2j0LbSpb3tSLHWNPL7L3ao7c6ktMbY2Rmcx3JE1/IvgEjglfhpV6KUV1p45CiOuNdpjeNupAPFlYLIIW9pEByoY9QduFfm7Jd8AlD+GByfMt3E33jjupNHt2JNvWA6v4Rvhy2wWno= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856136966521.2548049196438; Wed, 18 Mar 2026 10:48:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzr-000261-UG; Wed, 18 Mar 2026 13:47:55 -0400 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 1w2uzk-00020M-2s for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:48 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzg-0005pJ-68 for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:46 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2ad9516a653so444615ad.0 for ; Wed, 18 Mar 2026 10:47:43 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856063; x=1774460863; 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=WdPki2OUDvv7GbdAB4TVVTocQqYHi/i0OX7XXacQtPQ=; b=rRdupp46TPnV7AKpe9dn8jijGC1dzEjvm1kmc1MZJwlRv+woScjs4IU/c/BRG+q6pg 9IJg/lKK7B135X/q82ljDTR/pyDGO6u2fEN8Nf5jvezm20cf9QVqZRhJawRLc06T4cZu Ncbn4igm7o1/L5Bdp68z4uUiCjVgKTTBLmBOKvUdTs7tzjW5c4yG+VUAzj4iqI65xr0x Nuqs1ux9KHrrsUka3UwGUiACS39+YIoBOc7Swf8KCG7ScqORbvf32JWdCpbmOitvt3JR fXdJAmNTVIVUNdfWYjR7i916YLlvzweKYaFzbpN+XjsxTr+5Hhx/Dxk1g+tCWxHptwOI Mpiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856063; x=1774460863; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WdPki2OUDvv7GbdAB4TVVTocQqYHi/i0OX7XXacQtPQ=; b=QKZk6EuFlHkvgYHTGknMCDJHlyVSLt28LTRDDCRWn7Dsrrmp5wt/pe4AybGbn2PElk /8T8F8VmIuaR8MGlbeZ7XGVyNTXd+ZYq15z6e4NqYMzoVrURGcxepA7PsoojipxJcHv9 3/6is5afeV42VU8wmb0sJePcJaKbBgSBGC++VGMt3M5I4N9pi/Sha24i0Kr0MY+P1AXb U+sRTAw9aRq6TIkLiOJnZLTUYqJOtQefIe+tndfRqmPX1E7l3vHwrJUWmm8PkColg9Jk AaiQixDenL2yZ1zstXRVno1Wb9CDN/pOrPjIX2vj45+XHnaCoTEVhabH7j1zXMsjFiyM oxQg== X-Gm-Message-State: AOJu0YxAHXOIltq5xhCtWXbVhRqKv170lLo/T6t6Vu/Rj8lDSbj9ZPff akZ/1tLvQuHyZpTZEifbwtGQiCuVzZykyR0rzxGaFfE8z+bHveLkfXM6rVQYbe91ZERK4p4Ak3X qc/WrXuQ= X-Gm-Gg: ATEYQzzk4fIq5NiKy+tMP75C5UuMw+SdEKeERiOqDRupWkc+kFR8/4b582xwXvFZ5jZ Yn2+MXQpcTPx7cbbdBOn/Z/S/lmGQl4L2J278vquGawKu2S6O4lb/HZaOOxBJwnuINvOGAbdkky EtUakAywpKog5LqSbrysQvt2ClHYvdMHWA313wQdPw0l5gJkmwMXzwZCbCTlEceiF+nCHgP0hHS 2c9EyLZ6Z8Ys1he3/Jf1CnoYbXBtfMx1Hu0RRh4r7n1Dzg7BMRRHnXSyBPGR5mw2fnKV/PV6Rub lfB4lr1sN2jmFmvcP7m8leJkN2ZkOIl3zo3dBzYmLi8JligsXwAePyhhZQBpzJvubixvPzc2BFa cvfKXwZDE8MX4bUGovLPLQHHFSvMxdUncop4bZTPpBeJbZmKctzo2GUBReO6cbo83a1nxElpxBy qhdWVVTJ86PI0eli12JaS1AGamfN8DatnBgOK5Gw7+eN2xPxNUBb7s7Qi2PNRf7TGwKjI9b/GRp U0Z X-Received: by 2002:a17:903:38c3:b0:2ae:a45b:42f7 with SMTP id d9443c01a7336-2b06e3c3ab2mr44515835ad.36.1773856062557; Wed, 18 Mar 2026 10:47:42 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 5/8] hw/vfio/pci.c: eradicate CONFIG_KVM Date: Wed, 18 Mar 2026 10:47:30 -0700 Message-ID: <20260318174733.1717643-6-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x632.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856138481154100 We just need to add kvm_enabled() guard when calling concerned functions, but no need to extract those kvm functions since they are not using any kvm specific types that would not be visible at compilation time. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Reviewed-by: C=C3=A9dric Le Goater Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/pci.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index df617f1fe46..811e5001de5 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -152,7 +152,6 @@ void vfio_pci_intx_eoi(VFIODevice *vbasedev) =20 static bool vfio_intx_enable_kvm(VFIOPCIDevice *vdev, Error **errp) { -#ifdef CONFIG_KVM PCIDevice *pdev =3D PCI_DEVICE(vdev); int irq_fd =3D event_notifier_get_fd(&vdev->intx.interrupt); =20 @@ -206,14 +205,10 @@ fail: qemu_set_fd_handler(irq_fd, vfio_intx_interrupt, NULL, vdev); vfio_device_irq_unmask(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX); return false; -#else - return true; -#endif } =20 static bool vfio_cpr_intx_enable_kvm(VFIOPCIDevice *vdev, Error **errp) { -#ifdef CONFIG_KVM if (vdev->no_kvm_intx || !kvm_irqfds_enabled() || vdev->intx.route.mode !=3D PCI_INTX_ENABLED || !kvm_resamplefds_enabled()) { @@ -236,14 +231,10 @@ static bool vfio_cpr_intx_enable_kvm(VFIOPCIDevice *v= dev, Error **errp) vdev->intx.kvm_accel =3D true; trace_vfio_intx_enable_kvm(vdev->vbasedev.name); return true; -#else - return true; -#endif } =20 static void vfio_intx_disable_kvm(VFIOPCIDevice *vdev) { -#ifdef CONFIG_KVM PCIDevice *pdev =3D PCI_DEVICE(vdev); =20 if (!vdev->intx.kvm_accel) { @@ -277,7 +268,6 @@ static void vfio_intx_disable_kvm(VFIOPCIDevice *vdev) vfio_device_irq_unmask(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX); =20 trace_vfio_intx_disable_kvm(vdev->vbasedev.name); -#endif } =20 static void vfio_intx_update(VFIOPCIDevice *vdev, PCIINTxRoute *route) @@ -287,7 +277,9 @@ static void vfio_intx_update(VFIOPCIDevice *vdev, PCIIN= TxRoute *route) trace_vfio_intx_update(vdev->vbasedev.name, vdev->intx.route.irq, route->irq); =20 - vfio_intx_disable_kvm(vdev); + if (kvm_enabled()) { + vfio_intx_disable_kvm(vdev); + } =20 vdev->intx.route =3D *route; =20 @@ -295,7 +287,7 @@ static void vfio_intx_update(VFIOPCIDevice *vdev, PCIIN= TxRoute *route) return; } =20 - if (!vfio_intx_enable_kvm(vdev, &err)) { + if (kvm_enabled() && !vfio_intx_enable_kvm(vdev, &err)) { warn_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } =20 @@ -350,16 +342,14 @@ static bool vfio_intx_enable(VFIOPCIDevice *vdev, Err= or **errp) vdev->intx.pin =3D pin - 1; /* Pin A (1) -> irq[0] */ pci_config_set_interrupt_pin(pdev->config, pin); =20 -#ifdef CONFIG_KVM /* * Only conditional to avoid generating error messages on platforms * where we won't actually use the result anyway. */ - if (kvm_irqfds_enabled() && kvm_resamplefds_enabled()) { + if (kvm_enabled() && kvm_irqfds_enabled() && kvm_resamplefds_enabled()= ) { vdev->intx.route =3D pci_device_route_intx_to_irq(pdev, vdev->intx.pin); } -#endif =20 if (!vfio_notifier_init(vdev, &vdev->intx.interrupt, "intx-interrupt",= 0, errp)) { @@ -370,7 +360,7 @@ static bool vfio_intx_enable(VFIOPCIDevice *vdev, Error= **errp) =20 =20 if (cpr_is_incoming()) { - if (!vfio_cpr_intx_enable_kvm(vdev, &err)) { + if (kvm_enabled() && !vfio_cpr_intx_enable_kvm(vdev, &err)) { warn_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } goto skip_signaling; @@ -383,7 +373,7 @@ static bool vfio_intx_enable(VFIOPCIDevice *vdev, Error= **errp) return false; } =20 - if (!vfio_intx_enable_kvm(vdev, &err)) { + if (kvm_enabled() && !vfio_intx_enable_kvm(vdev, &err)) { warn_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } =20 @@ -400,7 +390,9 @@ static void vfio_intx_disable(VFIOPCIDevice *vdev) int fd; =20 timer_del(vdev->intx.mmap_timer); - vfio_intx_disable_kvm(vdev); + if (kvm_enabled()) { + vfio_intx_disable_kvm(vdev); + } vfio_device_irq_disable(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX); vdev->intx.pending =3D false; pci_irq_deassert(pdev); --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856162; cv=none; d=zohomail.com; s=zohoarc; b=HSuNJJocKKaQlvoMsU5WWUnzyiP69W0FA6vlCoB2McAn8idwv/Qm4rsRh+O6wUk/MHrshxo9MDoEBP5/4lzTYP8R2qwbBHuOnVOgnDrhmFSo1KAkXeg78a58M+9v3pVgjzlXZUa09bqzOUDlh/xiDAwwOxHHuhyHoNvpci5z6nM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856162; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=D7SBLNkZfE70Q4c4n8fHx6puQVux00Zu8cChd4QK9u4=; b=MH8glfl7CeVWSKqBwIB8/aZExq9YgZdQrFMQPTRLBZOhds4G/ZUDF4NgMnjfNe/7kQwCVvzi8kkS/PMqEZWtD5T9Edxww5uqcxojliwc0iCRv5GVLRQv9/ubi75CHB5/tJmdUlfbo1vt3DEAifWM11t9epXwL+UOqfKNzqlcRac= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856162042763.3727241742744; Wed, 18 Mar 2026 10:49:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzs-00026K-DR; Wed, 18 Mar 2026 13:47:56 -0400 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 1w2uzk-00020L-2Q for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:48 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzg-0005pf-Qs for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:46 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2b0603ee486so698605ad.0 for ; Wed, 18 Mar 2026 10:47:44 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856063; x=1774460863; 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=D7SBLNkZfE70Q4c4n8fHx6puQVux00Zu8cChd4QK9u4=; b=L9vZid7sEXqdwUfM7/PaONVf5pcH5ZzGbdQ9C0zUx5ovcsLl9ZFKkl8gxy1Ezu9djJ xDJyRVlKNVibSW0954o92/u9x6j1WtcSz7tkk+Ro8KfLjwaBrpMQ0a/+zZSTkQ/9udTm ez4X0iXYxr0QJG1WowuOXSM89IhRz4FD5eryO8fVi4cFcEVG+MBYTp7wJXcczCTtJ9N9 TfRb7YRgw0KDhhuU5n1SSOQQ5zWgILu03lTRL37xAvGCmfHY6b9haukExWjBH3OwiK7U QU+bKInYie9fWmmDGc798i86kZnO3Zh7fZqjBU7tKNtCw4RM6yfbvieML7LrR1D+d6mp Gr1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856063; x=1774460863; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=D7SBLNkZfE70Q4c4n8fHx6puQVux00Zu8cChd4QK9u4=; b=mQqbQRMGtXpvIKhX3irzviIab039RhHiOqAHU5P7XFNIj+K8P8P9xsdbLhFPNGGhDV e/iPQZTd1lbM9pVIJZJ21m6exhPjuCk6ZFfOlOeGaCB2H2qRjW5StCYEOjfz3nJ/Rg/x +rQjtPJNTv7JTRBaEp+7hqJx9uNjK9fkN26VAjBsbaPf+BiZWIGbHDkJpnk4osCTkSFf yDoUlnOR/zJNOyQAlfbgXYcaYR0flyByNZ1shTmgtfitMoBgHKIYWfSk7C/cBnJQ3rh5 4g0jnctYzIbETSLVSEVDP+UhFL2Tjy/F4l0lKzVXWid9QIF/0WSV7Eetr+YPCz76hB8o Q3lA== X-Gm-Message-State: AOJu0YysSMQ+Kb0GdC9rRUilsH+Q42kYWa2IYw3nVdHVCX/oqzNm+eNP ABl04HL1TM7xJoNLPZl6vo9qZqrUuBppcT85STUBETkm2dEWq0RlaqQaG5eyU0pWCTLV0Z0voM8 PzG8kl/8= X-Gm-Gg: ATEYQzwZRpW4uxTBXnmOPq/LebMb1V2Vi2aeWniEmybbpIu1NZqmn18XZZ/S03I/0TQ eGJ8m0WcrzcIMIAQc+MqrpeS9LDHMcgVUfQpqJHJsMD8gsUirnr9lXUVz76oGxoKa0e85kM5A8F pN0qMeYnxIqn9n6/Ea6J/mU2UXC7lJ1MmGy5ch3alnhLink+gO/QbDc0zs4wFSN4cG6DnJiaE/K B4HwQ+Dn8rIn3+vSL/ZmuU7h1tgNZFVg9bwNrYWAKP6N2/1kA/GDbf0KLgJMZbsLLP1Vero8O0K qwvjTZlP9dHe7/9UmEnv8zGIS381CG/9AkjxvnWTLfEUJ4e7NHVUcaNbHCg8OsgHO5Se2BL0LHg 8CPZ/N2ttlQ57kakad+lcxke5o65FHciF3jSYW1l4+HfHawNEESYT9FhaQHsjpicj/dpJaL/ktc fCW2Rav2hLO94WH0EnpQCY0ZLk7S8HGFKonLcktvb26ursGCd4Fj/bDE6xY70I7J2ZI9oMjhQSo IdQ X-Received: by 2002:a17:902:76c5:b0:2ae:c907:85e6 with SMTP id d9443c01a7336-2b06e43079cmr29467945ad.50.1773856063300; Wed, 18 Mar 2026 10:47:43 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 6/8] hw/vfio/ap.c: use full path for target specific header Date: Wed, 18 Mar 2026 10:47:31 -0700 Message-ID: <20260318174733.1717643-7-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856164219158500 In addition, we fix target/s390x/kvm/kvm_s390x.h cpu-qom include also. Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- target/s390x/kvm/kvm_s390x.h | 2 +- hw/vfio/ap.c | 2 +- 2 files changed, 2 insertions(+), 2 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 =20 -#include "cpu-qom.h" +#include "target/s390x/cpu-qom.h" =20 struct kvm_s390_irq; =20 diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index 856fa2678cd..3fae9ae9814 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -25,7 +25,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/core/qdev-properties.h" #include "hw/s390x/ap-bridge.h" --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856157; cv=none; d=zohomail.com; s=zohoarc; b=beEjb7/Q1EbpTvoB5mjVb7EwBAjkkt/A5uZeU28k0VMnpjVAqIl2rcIsIjlGgbcJCr4tN8LxCHLZIdX4sEaFmxEpQXSqHjhZxpfzxenBbQdPMDQz7VPhXRxR2P67bziq5DTD7IqxDoGMA7IPZ8Gs5z0NrPZIca8s5JMpYSsPxt8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856157; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=U6HBDS69l4fbTlZmSQgqfg1BjiYPNjySjY8DwVgdsMo=; b=YyDHLjPt7v0Jcv001sFb2chdY+CENuwcU9emvd5FJvvfj1GocxIgWfpc4kBJtN96NvCWx6f1v612yA50J0m4dYDADLH+SuKZBEgsy+Il7UhkF/tdh1wECPa53N3RPS3aVD7GIsKBu0zdaZt9NUqFJJV0UOe7y30pWhWZROc0SQo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773856157524724.7111037975632; Wed, 18 Mar 2026 10:49:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzs-00026X-RA; Wed, 18 Mar 2026 13:47:56 -0400 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 1w2uzm-00021W-TZ for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:51 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzi-0005q3-1U for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:50 -0400 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-c742882d2a4so71424a12.0 for ; Wed, 18 Mar 2026 10:47:45 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856064; x=1774460864; 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=U6HBDS69l4fbTlZmSQgqfg1BjiYPNjySjY8DwVgdsMo=; b=EpR1IiM0ib+o83m6xvxhWFTyvMDPdY9F1+KGRVcn9JA3hWC52zQYJeMSWNnFUqE8zD hFk27vVApKUi9koJMULBLXbNTI40XfZP3ztbtBsDzBDaGhYZIk8JaLfV64Wopn8A7NOl xN9JlRM0Risyx8CtY1XjghDOpQkpbFvx2fYqsmtjlZCu91RAUMFIWMjvkAkoDpMOPzXY EFrJEYIzptqenO2YjWu3ZN2bLTRMIaW6wOChCrgJhjimwuuC2NZ39w67SdnquY8Z0vXQ 2+GQdg2zyEOrVxF5Ybaklvk9Sg6yJhhIpx1pq8f31SPx4uapRsXdC9w4uwU48mU/A5Ms eM3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856064; x=1774460864; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=U6HBDS69l4fbTlZmSQgqfg1BjiYPNjySjY8DwVgdsMo=; b=TmDsWB353u9lvF/4rSoUIa4j2SLXnjTFSAIeZpWDf4KZD1OExBHLZAonN86KK50WOd gif5r5MYqCmGAPP+Gs7fXCgUw788BGWNLJG+qF0cdkNPNKymv7MpfMGUgfKjUxME0xib nLdMX3b44+EwIg20n5tVxHZ422wZ4vigqrtscMtixp9Twwhx2bTAc2vj3DP0HUWtAmDz 7u6uAFrxxKRQrn+22hS1EfwdVCiufL8VYRS+kCvmk5o1OlhIF3mHgeC6t1AdusVKBBlY +t0OjlHf4oOfmVYl6G83KEr1LzNcaldMOdJA8wkrd2JGsePSTpGXo6eQOpnGxv1YlDjv J6ow== X-Gm-Message-State: AOJu0Ywh64F8nebHhqSg7IO27p8DXPIhHPuLiucec1sQLrRb+BzN1KPc mX02rJmm+hS6tWDsDiPEgZoR7qdQnRUkOadazaLCfBb3P4x/pPSnVjYa+icdAcPXB0pR+lnYBo+ b5W/uRLg= X-Gm-Gg: ATEYQzzFKaX1A+Bs96nsD2l13d8/vhfXffQMCMJ+5/ddL99ozyIX1ZcO8/U/4bTRO3X 7FvnytSHvdfipA8A7K7qz4H0Uob+DN0UU8mA2Ib8j2PIg3gzMzBmNcdzd4Hg88Yxn1jZllSVLku r0KBd3Dqev8UpitKN6CUyu/L4qAfqrfTYwOinWvIbCTtQbID4HakaVYcDQ/NOIwhW5bH7fI+RQM y1hRGk6yJVLLPyCLqcmXud2fefLjjIxXIZEaB6ESLAyggcbw4WsaOhyE9r98Cx1ltL9xv8ayuxF FCL3hissix8Ir9FgZ9SkV4L51Ru3GlmkK1JBr+c2V7W8miuA2oZ+kOKlwmjxG1nEpZyIN+aTgzq lXgnxHxan2w/Eq/PX+41IXdoyBwjXlqsxlmXXnbsMI0PFjqtUpGu2UiuqDy/hOmBCr2nNUEp1dg jJoA8OjihLPpGswWdkiubiifMjKQo8fa8iEYXplkADzXCNni9EAsNZVaPjNC5NIy7vHP43UId6k etE X-Received: by 2002:a17:903:2f8e:b0:2ae:c981:2a29 with SMTP id d9443c01a7336-2b06e2fac2emr39135465ad.2.1773856064117; Wed, 18 Mar 2026 10:47:44 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 7/8] hw/vfio/spapr.c: extract vfio_spapr_kvm_attach_tce to hw/vfio/kvm-spapr.c Date: Wed, 18 Mar 2026 10:47:32 -0700 Message-ID: <20260318174733.1717643-8-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pg1-x536.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856158916154100 Since this function needs kvm specific types, we need to extract in another file and link it only for KVM builds. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Tested-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/kvm-spapr.h | 12 ++++++++++++ hw/vfio/kvm-spapr.c | 47 +++++++++++++++++++++++++++++++++++++++++++++ hw/vfio/kvm-stubs.c | 8 ++++++++ hw/vfio/spapr.c | 30 ++++------------------------- hw/vfio/meson.build | 1 + 5 files changed, 72 insertions(+), 26 deletions(-) create mode 100644 hw/vfio/kvm-spapr.h create mode 100644 hw/vfio/kvm-spapr.c diff --git a/hw/vfio/kvm-spapr.h b/hw/vfio/kvm-spapr.h new file mode 100644 index 00000000000..b1f68c686a7 --- /dev/null +++ b/hw/vfio/kvm-spapr.h @@ -0,0 +1,12 @@ +/* + * VFIO sPAPR KVM specific functions + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "hw/vfio/vfio-container.h" +#include "qapi/error.h" + +bool vfio_spapr_kvm_attach_tce(VFIOContainer *bcontainer, + MemoryRegionSection *section, + Error **errp); diff --git a/hw/vfio/kvm-spapr.c b/hw/vfio/kvm-spapr.c new file mode 100644 index 00000000000..ad71c5a85e2 --- /dev/null +++ b/hw/vfio/kvm-spapr.c @@ -0,0 +1,47 @@ +/* + * VFIO sPAPR KVM specific functions + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include +#include +#include + +#include "hw/vfio/vfio-container-legacy.h" +#include "hw/vfio/kvm-spapr.h" +#include "qapi/error.h" +#include "trace.h" +#include "vfio-helpers.h" + +bool vfio_spapr_kvm_attach_tce(VFIOContainer *bcontainer, + MemoryRegionSection *section, + Error **errp) +{ + VFIOLegacyContainer *container =3D VFIO_IOMMU_LEGACY(bcontainer); + VFIOGroup *group; + IOMMUMemoryRegion *iommu_mr =3D IOMMU_MEMORY_REGION(section->mr); + struct kvm_vfio_spapr_tce param; + struct kvm_device_attr attr =3D { + .group =3D KVM_DEV_VFIO_GROUP, + .attr =3D KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE, + .addr =3D (uint64_t)(unsigned long)¶m, + }; + + if (!memory_region_iommu_get_attr(iommu_mr, IOMMU_ATTR_SPAPR_TCE_FD, + ¶m.tablefd)) { + QLIST_FOREACH(group, &container->group_list, container_next) { + param.groupfd =3D group->fd; + if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) { + error_setg_errno(errp, errno, + "vfio: failed GROUP_SET_SPAPR_TCE for " + "KVM VFIO device %d and group fd %d", + param.tablefd, param.groupfd); + return false; + } + trace_vfio_spapr_group_attach(param.groupfd, param.tablefd); + } + } + return true; +} diff --git a/hw/vfio/kvm-stubs.c b/hw/vfio/kvm-stubs.c index 5a489d1b711..78c51b99155 100644 --- a/hw/vfio/kvm-stubs.c +++ b/hw/vfio/kvm-stubs.c @@ -6,6 +6,7 @@ =20 #include "qemu/osdep.h" =20 +#include "hw/vfio/kvm-spapr.h" #include "hw/vfio/vfio-device.h" #include "qapi/error.h" #include "vfio-helpers.h" @@ -24,3 +25,10 @@ int vfio_kvm_device_del_fd(int fd, Error **errp) { return 0; } + +bool vfio_spapr_kvm_attach_tce(VFIOContainer *bcontainer, + MemoryRegionSection *section, + Error **errp) +{ + g_assert_not_reached(); +} diff --git a/hw/vfio/spapr.c b/hw/vfio/spapr.c index a9f093c3570..42690e4323d 100644 --- a/hw/vfio/spapr.c +++ b/hw/vfio/spapr.c @@ -16,6 +16,7 @@ #include "system/address-spaces.h" =20 #include "hw/vfio/vfio-container-legacy.h" +#include "hw/vfio/kvm-spapr.h" #include "hw/core/hw-error.h" #include "qemu/error-report.h" #include "qapi/error.h" @@ -406,33 +407,10 @@ vfio_spapr_container_add_section_window(VFIOContainer= *bcontainer, vfio_host_win_add(scontainer, section->offset_within_address_space, section->offset_within_address_space + int128_get64(section->size) - 1, pgsize); -#ifdef CONFIG_KVM - if (kvm_enabled()) { - VFIOGroup *group; - IOMMUMemoryRegion *iommu_mr =3D IOMMU_MEMORY_REGION(section->mr); - struct kvm_vfio_spapr_tce param; - struct kvm_device_attr attr =3D { - .group =3D KVM_DEV_VFIO_GROUP, - .attr =3D KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE, - .addr =3D (uint64_t)(unsigned long)¶m, - }; - - if (!memory_region_iommu_get_attr(iommu_mr, IOMMU_ATTR_SPAPR_TCE_F= D, - ¶m.tablefd)) { - QLIST_FOREACH(group, &container->group_list, container_next) { - param.groupfd =3D group->fd; - if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr))= { - error_setg_errno(errp, errno, - "vfio: failed GROUP_SET_SPAPR_TCE for= " - "KVM VFIO device %d and group fd %d", - param.tablefd, param.groupfd); - return false; - } - trace_vfio_spapr_group_attach(param.groupfd, param.tablefd= ); - } - } + if (kvm_enabled() && !vfio_spapr_kvm_attach_tce(bcontainer, section, e= rrp)) { + return false; } -#endif + return true; } =20 diff --git a/hw/vfio/meson.build b/hw/vfio/meson.build index 6c00a7f51bb..bab5f2b7f15 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -10,6 +10,7 @@ vfio_ss.add(files( vfio_ss.add(when: 'CONFIG_KVM', if_true: files('kvm-helpers.c')) stub_ss.add(files('kvm-stubs.c')) vfio_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr.c')) +vfio_ss.add(when: ['CONFIG_KVM', 'CONFIG_PSERIES'], if_true: files('kvm-sp= apr.c')) vfio_ss.add(when: 'CONFIG_VFIO_PCI', if_true: files( 'pci-quirks.c', 'pci.c', --=20 2.47.3 From nobody Fri Mar 27 02:32:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773856090; cv=none; d=zohomail.com; s=zohoarc; b=PzpJJVGjnI4cQCfeFuOFJhtMJv9eaDoO0pG1eZou8i8ejt8Ji/ukM7cG46OVojPisQ9l7kIgJAbIvpZXmH8pBWzs/rAr73bs9kQ9j9717j/yY+WD1PMHcNKuM8DxGcmYhe4eVnwrxFBJCdP42zUs5hu7MYGlh/n1r6eSJ5X1jWc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773856090; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=U+l1w5qb6p7Up3a9/P0k7Kk818jkXYKGDbz9+e7AVto=; b=FyevtdsyBS5fU8+5clSgDDSg9Fm5SGLe1597+If3O3r44JO7SY4KAihtmEtcZ7c21V+SnWBgaKWWdlWAoud5k0ZygTx/KpPd3UH+jRAqU4BVX4zDHPD4YKy660i0+wl2a/X+7WWbJrFb48h4LTTOtIXuxvDl38NpIfv6l2QlYm8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177385609066068.01046411214168; Wed, 18 Mar 2026 10:48:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2uzp-00023P-MO; Wed, 18 Mar 2026 13:47:53 -0400 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 1w2uzm-00021U-PI for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:51 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w2uzj-0005qR-RI for qemu-devel@nongnu.org; Wed, 18 Mar 2026 13:47:50 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2a8fba3f769so249985ad.2 for ; Wed, 18 Mar 2026 10:47:45 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e5f0ac2sm34066185ad.52.2026.03.18.10.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 10:47:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773856065; x=1774460865; 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=U+l1w5qb6p7Up3a9/P0k7Kk818jkXYKGDbz9+e7AVto=; b=QHP2r7qwuhlH0KbUinwBgkg04OuTFXzXYkBL7Ud30+vSm+5G3nrQb0Mt/NPUFePpsM ep7I06AEZmei51UT3IwUjbZbTg4/zAbEO8OJMD/OIF92WITPKSwpsAQiUWW1wyQYowKi 6Wka9HNK4oEBYfJRCi2sxuGSzKjOcCp0TkD5CqGaGmYg58m99rskmGMcobAAxv13Bebx zGy/I2SpjUxO2Tq69Ma6XDGoDfjxR/2B8L/eOa8oI2dy/Ik6zC0bHL0P3zyk9/lFNEky xo0xiAUF62rGaO3woKVPItWs+vtbDICAAmahZSOOZbq6s2P6N20zOqtJZ4JXYDYwBdEr Y68Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773856065; x=1774460865; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=U+l1w5qb6p7Up3a9/P0k7Kk818jkXYKGDbz9+e7AVto=; b=Jai/prHZChY0lgccNiQaw2Cij6ZYC9rhPdk1BGjQuG8pF7RD3vLhbD2tLfUA4lPhrO QCAVHutpN/QtZQJmbLjkfpbgTzNAaQwHkU8q5VZtxveFX1eYt3W01nCC5i+8WGDHKRXu MVwbjmXtVGSozvtJ0bM6EpQB15/cuvneuzyY+HyyD64iKan8//v2bx+zBPz7cof9rlnm wYMpifZxVL6KeC3CHZgpGDyZv1G/MsLnXvj9p1MoI9jRadfC6ANxHP64VCOZXHMSWGr5 KHD8GQ5uKWawMFGiTLvLHZY8b2bx1WagL8YNClbQ+xSmXKnR4Vjri5NRFp2hYXvuoNBJ QDog== X-Gm-Message-State: AOJu0YzXqSHBBDXZ4q/bGOXjKV7KpX2hQfYSaroFOzb7SKiHFb3ZQJKK BwTbYlBsj+2ZxWjxALECXv4r5cZDoyRKZsT+sl/qKHSvHaQ0foMjVMDuy3SEHcTW17CSecKw8sM IT48xnNM= X-Gm-Gg: ATEYQzw3wiKTmIQj2/QUpq9PCpQDePg0vV7p0fbGBAH4VDwRLYaCnDjkj622b8NEDOP +1hzrczla0UJ51gWb0dqcIKh21zFXl0CPc5gQusGlaU8cUrsko7zfs7+7AGPrbCJkCgeazsL6cL Bvzw7K1xy1Z8P6/VD21yefqaiGgXjujxYlicgUQTMDmYqaVpv+BkcI40yryjXxxWfEsE0YxBtz5 gdoEMsWew11poS0lVG8ArY8Tiz5RHv+AwQzOLRrS4mot/o0TGt01qZQMK7F2jnHLqmL4/wpz247 B+bWxRY5SItu2YLcaV7x7kRkVMplvvXllNNk6SXaplO4wkVEEpi0pS4rS0CMiM1XjTk5fptin50 jFo0Wcnw4/oIktN8IPxbyTDenm7JuSrliv+cuDe88YSaiAU/FlRGKiKO26x5kY+SnAGWAsk2E0E MdE7Qtv+3Yd+0rKlkg93j48ubvfKY0CVRQWQ7HBj0E8yqWMw7tsWuwGvAQSgBj64+PyF+2uiyoo eXO4mBKnGEZLvM= X-Received: by 2002:a17:902:ca8d:b0:2ae:4fc8:3f5d with SMTP id d9443c01a7336-2b06e4399acmr26003215ad.48.1773856064856; Wed, 18 Mar 2026 10:47:44 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , eric.auger@redhat.com, Paolo Bonzini , Pierrick Bouvier , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , philmd@linaro.org, qemu-ppc@nongnu.org Subject: [PATCH v5 8/8] hw/vfio: all vfio files can now be common files Date: Wed, 18 Mar 2026 10:47:33 -0700 Message-ID: <20260318174733.1717643-9-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> References: <20260318174733.1717643-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773856092592158500 Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Signed-off-by: Pierrick Bouvier Tested-by: C=C3=A9dric Le Goater --- 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 bab5f2b7f15..fa0ea6ecf0e 100644 --- a/hw/vfio/meson.build +++ b/hw/vfio/meson.build @@ -20,7 +20,7 @@ vfio_ss.add(when: 'CONFIG_VFIO_AP', if_true: files('ap.c'= )) vfio_ss.add(when: 'CONFIG_VFIO_IGD', if_true: files('igd.c')) stub_ss.add(files('igd-stubs.c')) =20 -specific_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) +system_ss.add_all(when: 'CONFIG_VFIO', if_true: vfio_ss) =20 system_ss.add(when: 'CONFIG_VFIO', if_true: files( 'cpr.c', --=20 2.47.3