From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840056; cv=none; d=zohomail.com; s=zohoarc; b=Vhh6x3kwyBnv7VCEUgD1fDdA4KTBB03l5NidN6FbqyFPa29WbkqD/AYW33rDa46LqfRIufzEAsSGO9w137TGzCyeBcuxLz5jKgovM2tkzr3lS9tDsJcclXiWj1kh1m6YRk+5jIuKO0licBbtgEMNe/GpkkmO/iA3VGoIVXMee7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840056; h=Content-Transfer-Encoding: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:Cc; bh=SdLY95Xun6dvh+tc87rHUYgX1iSVHtyCBLbdItu37no=; b=I5yp5UnBhwtogUUUC4ddG4slirkHwGUv1bCCm8K9+ufkmfvpb5YMLXb1iBOTKdPUcJp5pFLJO9iKQaJIswmnO327C3LmUFcAHIzLo/tgbFCsj5V8DMq858aSy2ocDQacLyz3RrYY+I11xh4TOC0acPoNpCYlIRVDioMtXFYdl3I= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840056716304.82659433711683; Thu, 27 Aug 2026 07:14:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarB-0002af-3W; Thu, 27 Aug 2026 10:13:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarA-0002aV-Dw for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzar8-0005d6-CU for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:28 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-596-6OG0rO9yMaSCWaJ5Xi9OJw-1; Thu, 27 Aug 2026 10:13:21 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-49808ea1b64so8626995e9.1 for ; Thu, 27 Aug 2026 07:13:20 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b494228bfsm53563795e9.2.2026.08.27.07.13.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SdLY95Xun6dvh+tc87rHUYgX1iSVHtyCBLbdItu37no=; b=PFWf59fNlVa9QQ9d25dBw3seMwXIjVdIu+5K39H9TMxId+HcjJykWi/dN07WRHNoU/cpRm r21ET3HBublONafISXoYfPAsDH1asiUrBpFZ2DvWecPFbGQpLCeSwsoRD7jZzHQlpVewR9 +5nkaBvCi1ZAfQgcF0cKFfy5ubWMeHk= X-MC-Unique: 6OG0rO9yMaSCWaJ5Xi9OJw-1 X-Mimecast-MFC-AGG-ID: 6OG0rO9yMaSCWaJ5Xi9OJw_1787840000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840000; x=1788444800; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=SdLY95Xun6dvh+tc87rHUYgX1iSVHtyCBLbdItu37no=; b=lpti3ipD9V1YVGJi8stxSQ+7S2oD0+C0jNKgF+hDG3LQztm138ivunuyDhh21eI/MU SbamLKQbPBWHCRl+ipoCTdcMYiaE4Y8gIi5pwIXJ0v34iV1j/n6cLcaPPwC8js9kH7wp KA7cor5H8CD5pXs/EA3hH3NBx2p7b7vkxtsADctrYH2cPHF1jZQTzXtu4m+L3/EUeZOM XcyX+d/8OzryX2aXas5oYqBsFuyn/k0ySuGmpSdX14jBnJh2XXmeByTuIQdJxwy34amn jiCiG+TlSnq8xbrMktR1oA3KEKlZ72TYl/qbBQUsfv+Q8esWGgfqF8m2Sr6AWkKOpvku Gf+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840000; x=1788444800; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=SdLY95Xun6dvh+tc87rHUYgX1iSVHtyCBLbdItu37no=; b=lMroN0rPQQ7iXt2JhPodl3xQ/F+Dc/7H1y14hJbBwYBekzudRv3bm/43T65v+65Pk1 3KsqF59V5mrNRpI+IA5LV+mNJHvIyTSKKPXfqZfoX8n0nNYqHpoKrqR0BIaKFHIdcezo Df7r1kWDZNagUGDWaWbLwL9/fxxZgrLo1NUKYy4eLYkGLbIfBkz8KzO4Ukm15D4HmCmp a29r1Ldg4cGDYE4bBc6BegFWTs/DqkPwCJTy+EBNkrODDt/vBFYJ06FLnd4rr51VjMDC ksS6PgrKjEeMuFa4hFrCbd+5BX/rBdpautVc7KSShBvz7ctKSQb0XbaskmdRulFGiuEY VRTg== X-Gm-Message-State: AFuF++mxV4b/fpjVkqsguxx0MPyv5cExpEIV2SZRi7AUZN7WaMvY3RrU 1IePfFCYlZCkoVWpjD5BDeYajopsQY5SgqhR9D8D8HQinfofL7SDeLOHATZNqyCPZLmHyb8WF7e 5xmuOQ25ASso1zA60th4fYpIkak5p7frZPuMLnwTp26O/FkcZZenGO3n7Jv105xdOp6XUS5d8kl 4r15ipe2xIveBavxE+Ih70TduCMhKxpj0LosqMJ6U1 X-Gm-Gg: AR+sD13seXaQnxZCqgG4S8NpwnJOkAakxz0VwA6Vf/NhEvbFEysa29mC5Z/DbBrboPT zySHt5Dma6dD7UDTPjfQPJW24HWxIR/iCXnq6I/59Lu5GbLc+9xQQPsOQy06L463VUHECpxABBz 4ggPMxs6pEvDf7NhQXQ8YBmxWmsQtiPja09Vxn1yywZjHes8Hv8nOoJOHQsdKcWycxqgFX2HqhX tZqfFL8UMOVGt7S0zIu2FWMneQmDdDla6Q45DPICu/mqzhxZo2mRC8Jv3rW7XfuyvdDUBo55qCO VLLK0vTbhFx7iFBvR5w82lb2BAl0f1eTNn9//1F93mN/pxCvuglzoaItHIVYXhHiTK1akKgwmYb WiRuyNtvWihufjE9iaigjTwMBexod42C3xwJiME9Gl5C1RDqhG9iCOLsWZHhIfZ/5RaLHNrapiT pXa7Y= X-Received: by 2002:a05:600c:3e8e:b0:499:5f80:83ac with SMTP id 5b1f17b1804b1-49b0dfd7d2cmr95420325e9.7.1787839999853; Thu, 27 Aug 2026 07:13:19 -0700 (PDT) X-Received: by 2002:a05:600c:3e8e:b0:499:5f80:83ac with SMTP id 5b1f17b1804b1-49b0dfd7d2cmr95419595e9.7.1787839999444; Thu, 27 Aug 2026 07:13:19 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 01/23] scripts: remove dead variable assignments Date: Thu, 27 Aug 2026 16:12:49 +0200 Message-ID: <20260827141314.1099352-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840059527158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 78b6f1f7ae2..3820d121183 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -113,9 +113,6 @@ def update_subproject(self, wrap_file: str, registry_na= mever: str) -> None: print(f"Installing {orig_dir} from registry.") else: print(f"Replacing {orig_dir} with {registry_namever}.") - patch_dir =3D config["wrap-file"]["patch_directory"] - patch_dir =3D os.path.join("packagefiles", patch_dir) - _, ver =3D registry_namever.rsplit("-", 1) =20 subprocess.run( ["meson", "subprojects", "download", wrap_name], --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840056; cv=none; d=zohomail.com; s=zohoarc; b=CTOEk9kXpunwM9QoQWUTc5+p814/zFAx86JXmUaiEsCXNvqxJKt7JLYyozcZhDjiUYWpS3lvg238y/Zncvn7PZbFgFLBo9nP5tr6FY8R9KWqZ0DmybPcU6EHQuQaTzfEvDIoSkBi42ta4EV9przoUvB45V6oFpe0D7wjm9DrLbc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840056; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=7hjxLnAVY/DURtZa77LbXggflUPsLfOq7SYe7f/Hv64=; b=c2H7aHTwJIXJIatc0UArPUscVKKFjnXhneTCM3CJjn0ldmwIx7ffIo/OIB27cuUdFZmHodXkS5RJ920Eu/mRn3IuSONgSMAf8wVjejZNypnQree66yhQ2LCYYwu2Q2NEwoGEyvsxwQub1YJsYN1iH/SvJ0PyCSVuq1IvFGYmesw= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840056662689.6758608977705; Thu, 27 Aug 2026 07:14:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarF-0002bN-VH; Thu, 27 Aug 2026 10:13:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarF-0002bE-1n for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzar8-0005dR-TI for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:32 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-593-Ww9a8nJvOCqf29u4hjbhnA-1; Thu, 27 Aug 2026 10:13:24 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-47f81362fb1so476843f8f.1 for ; Thu, 27 Aug 2026 07:13:23 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e28f6917sm8975014f8f.35.2026.08.27.07.13.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7hjxLnAVY/DURtZa77LbXggflUPsLfOq7SYe7f/Hv64=; b=BnOqAFlsk2m6MIip8Wa5xc2iQbZXVUxzkL4RglfBvhMBzBOlmrOCrIuht4mrEZy+SHNXHl ND4w9HB3/w0eGHAsqyOELVgHs6B5tPK7TOKra9SsdOZPFU1U8NamvI3bRUDlzL+3SNp4AN gbZ6uICv0Zlb9NjPmHwmNBlt9M35v5Y= X-MC-Unique: Ww9a8nJvOCqf29u4hjbhnA-1 X-Mimecast-MFC-AGG-ID: Ww9a8nJvOCqf29u4hjbhnA_1787840002 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840002; x=1788444802; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7hjxLnAVY/DURtZa77LbXggflUPsLfOq7SYe7f/Hv64=; b=iNPOXT2L0O2NicDUE44wUmEkoTDyzkUkeRA79qCEMiXfl2iegNYCv0MKUGh57ZlnqC pMBD6p2F1Q4Tipzzsa2c2I/1hXNLAxE3DE/JmN/OumSIFNoaHpluBKXDVnqNrNc1heo1 27StdGsDUH6exB/GTep3GtvpIklVsjIpDx+PFDsNZ1cNPwPMEbvbN/sQb/jmNHhI4wOC AlY4abVM05hd6/g+m90NJbdMKcDFaN3f+LzbGUwB1J4k7JxJ9B9SHRohmtVpAr8Yu78j pLTe9fYb7M4VE9sHn0ul7O3Z+CyLCOPeHtfM6HmlecpjoDcAxROxRyh5AbsXb4pYUAvn xXEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840002; x=1788444802; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7hjxLnAVY/DURtZa77LbXggflUPsLfOq7SYe7f/Hv64=; b=h7pvjtTbM94o4MMIHs3hYsVv8d1+KGBbUeTps7Nii7rXp2ZnSitfnBmz6co6bFuZx9 yF0AemP+M55LeMWdu+huMV0jlbw0NCZW8VT+kYjGUGsFp26KSSTQvl/gNtOAgCcg4zU6 6s0BjbZfKchTV9lANPjvdW2rPj6syU2foQB+POO6sr5u6HwSarYJCueQZrP+O5turY9z ZPM7P5PXTQauu8FS1VcLYzlxa2+vN6tPcL5uO7tX86LVQZTh6OeJ58Dw1j8PscVVt/w8 vGHPyKf3bWD6uhogAyIcytWTYpFMwft+NZcZa/iLgGr129q95/pzDzOGm4gGylVgXDnm Lkxg== X-Gm-Message-State: AFuF++mWKnQBB0jQcqgHILzvhCAWEBpskSpefeVGGCjnltB3wdr4VAk4 LfsdoOlsUo7oWRD4F3d870gqTfEgMIBRk6ePuhA3OAq8Qo9499mV582mg0b+vgKWyqbSgQlsQm5 +KFd/nI99WTwc3qeXROmdYK0nnok7ceSsOXX+fwt96YBDBwE8Lt9jr0f4BSjK9wn5A+Mkvu93Y2 juRYG4niwAW+Uyt+maN99E2ts8gXp0iV9Fm88KQlNH X-Gm-Gg: AR+sD10wtl6aTFCSaQN+TbGBkHQ9jE58w+m+D9LYZAL7Q8TsAt6Tfj+Uc7JsX969xVY uz3JbgR1c7i+aHrM+VFdUBATxmhcamFRUYivLCMhT/2N49Fi6AR8vtTpijzhIAy7IyRUirgRUyx xUFpUgLKjn+l4vceT/GS78ni2UWyswOhMCmA1PwUVYs+utYnxwhnvGIZlGMM0m/n6ltaL3UTp/x x1qKeU+QGW87Fgt7/+y6f37j4QS+SuCtQ2KHt4QOeRE9rwUW3cztopYyshVWiKFwhIUJoKvVIyL e4uFpCdSoohI9Glwrzio7nJ4fFcBoYumAybCyki0AFlY0Pil1KZMGs3FO+RQMwXTqapY1IT9Y2H ZQkhpv7MWsxDPe2twJUjmnGWpvbry72lSJS9D8bsuDEBiIMslCS0RPNXcu8w9e60fALB+aFAh6x UcLgs= X-Received: by 2002:a5d:5f50:0:b0:482:f0dc:e647 with SMTP id ffacd0b85a97d-482f0dce707mr8539332f8f.21.1787840002216; Thu, 27 Aug 2026 07:13:22 -0700 (PDT) X-Received: by 2002:a5d:5f50:0:b0:482:f0dc:e647 with SMTP id ffacd0b85a97d-482f0dce707mr8539206f8f.21.1787840001581; Thu, 27 Aug 2026 07:13:21 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 02/23] scripts: print build.rs diff Date: Thu, 27 Aug 2026 16:12:50 +0200 Message-ID: <20260827141314.1099352-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840059457158500 Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 3820d121183..84c652127f9 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -59,8 +59,10 @@ def compare_build_rs(self, orig_dir: str, registry_namev= er: str) -> None: if os.path.isfile(new_build_rs): msg =3D f"build.rs added in {registry_namever}" =20 - elif os.path.isfile(orig_build_rs) and not filecmp.cmp(orig_build_= rs, new_build_rs): + elif os.path.isfile(orig_build_rs) and not filecmp.cmp(orig_build_= rs, new_build_rs, shallow=3DFalse): msg =3D f"build.rs changed from {orig_dir} to {registry_nameve= r}" + # diff exits non-zero when the files differ, which is expected= here + subprocess.run(["diff", "-u", orig_build_rs, new_build_rs]) =20 if msg: print(f"=E2=9A=A0=EF=B8=8F Warning: {msg}") --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840113; cv=none; d=zohomail.com; s=zohoarc; b=KIo2V4OrGbKZCHAFcvw++pHf9gciZ+iihLPFjz5p2VeYQKQoBVyrpCLc8IoTY1NuZmKNqETEiDkWiZMXCCyrEz5Vx9uNz1ij1raYzbST8fzr6pJIE/FKbo27hG3WnwrVTPfUk3XVqILjffoPvsUubgAHSUK9WM/l8vXdN6PRsZo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840113; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=Fw4f0kzvVqy0S6njX9tdZ399Ssuq2ixYN/WFdO9R4bo=; b=jHxqBtLRPWnaF6Llp9/XpwxN9eodbfpr92a07/LXF5C7+ykcHFn8DePlvHG7X4NsfNSYvKCE2UVyzuAAp5wA5lNsdQ+H2WL1ScIfZdykwOCrPH2+9bowwUBtQSlCwB7x7XbQaU0CYGWsdf8JeMgZC0wkMVgKLYLqKuhEnG/9/nc= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840113273584.3938863517852; Thu, 27 Aug 2026 07:15:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarZ-0002eZ-9r; Thu, 27 Aug 2026 10:13:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarW-0002dq-9U for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarN-0005hX-CD for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:50 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-306-NMTz3KY1NK65hJiqu_G0JA-1; Thu, 27 Aug 2026 10:13:25 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-49b64e98e94so5255825e9.1 for ; Thu, 27 Aug 2026 07:13:25 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b4961004bsm67496225e9.4.2026.08.27.07.13.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Fw4f0kzvVqy0S6njX9tdZ399Ssuq2ixYN/WFdO9R4bo=; b=cvuY0/wC0Fl79VWHoyBDdbHXA/f8phV/M+6bx5YbCgVNRSPzSeT3Fcju4/vBs7HY6oJh2c qEu3gn0kTnDLu8ez6kmh0IrqnCvaAYBdjCgyJpVJhW3VcJtcJbJaZdAnjhoDRIFvt4lH8R reW4S1JTSeuclIMiTwqZpZEa1XL2LVA= X-MC-Unique: NMTz3KY1NK65hJiqu_G0JA-1 X-Mimecast-MFC-AGG-ID: NMTz3KY1NK65hJiqu_G0JA_1787840004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840004; x=1788444804; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Fw4f0kzvVqy0S6njX9tdZ399Ssuq2ixYN/WFdO9R4bo=; b=qvmmb7FzKpTR5YQxMiCdgNKeUmyWIKsfELCDnPtl9zwIBs4nvbw2CC+Xhdy4q251vH 1NVRHpp9TCwfUvmgt+ky98rEusuOBEC7M1ByxlPRZoN8vyd7+igkyLMi6DbuuGbfIxDD hL+M6N1NHlGgWmn/PE4CrrsAVStJxWnti/cYI2OW8VqrDENnf7asg3U6nZMq7VgyvhCX 1N564O7Du683n5kotkq/NC04ebJ/+xl4dKU2/KNUlfuUgN+A9gh6Mn6XXictZ8qVacIF U0NViFOvfAYe8UPRTol2AhWd2tjpRk4RrLoHVQo+0SeYTeVhDnsrkcnFiDnMzoPqdpTy Nhmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840004; x=1788444804; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Fw4f0kzvVqy0S6njX9tdZ399Ssuq2ixYN/WFdO9R4bo=; b=PFdQjIR7aqZHplXBSwFU6qodlKDZ18QUHZZgFiQDYNsKyvypT939QI24yR1E+lltJt nWkvR8SMV+GOcAiWUVJaa4HrJOxL0EAwSWAoDeEBb20JzPLeoFWUo0Z6lH6SXupaJyrh AkXn5n2/4IiMaWtstithPLK9LnA6K1vHcKJbzcniJNAzvaMo4l/aX8mJHPTzFjjbZtoW vSwHykOILIWcqcSLDeTXpzoUyBspYqzTE5GiZNljNYPUVE1R4LuJY8VGRNtxIAdyC83y cgEue+qSv55tq6nLEvmVAudaAOt1A4/cTlGiptsORhmOusvpKunxRDZjNUzbVUEO8Nca PRbw== X-Gm-Message-State: AFuF++lHv5gbbJ60y2Q0CNOjzCTsFCCtPPEPH3xzuhYv5zNM3gDlHx0u wn4ZJHUYIk6OPcrzxV03X+ERJDR7DDkRjoIHAob8p6HizqrNq5FvGNKsuVI9cqkE6TsmrK8tJvb ePiuoqkYQUhmz2YRcFPa6mvqTyQOxuHClw5eiP/6D0IIxgsK3tDEGwx1Nodel23SGNR7OfOT68S UNm3iudZjkKjczDim5wJ9mJ7xQlMtG2E4yWQmPvXOO X-Gm-Gg: AR+sD11KF2xo4rV0l1YAYZUjOEDw8cLmckvmoCc/GhcFrb2phkimwakTSL27z+ho4z+ oomF76+t3wTjGOpWwDgEmwmxSgz4plM5YFM8Kz8oFbDLb6VYOZAN+V9YtyVrkt0hp6zQLqKlRny 9hcYb45FTDzFYlxraUnF/IV3/+6GE+cFBABvtd1ePzCYQYZjvnQFmbnO9pgvbSmcVuSnni+5+fh /mFfkCClmXmUdtAmBjNLMDUnz4pqt3JgrK+Zqq4WNGS2u8qlPzsDkCsGTT0c1uhxoYC9uqfKgfo OvRyQWWCevvXD9vqAxOTn1xXFRYA6YUwIH8KqWAo7R1wFcRTrC5bZuc4Je7kuIKDGoGZTynu1qv k4RoyckcZKqhUA/RjM+wDIZmvY4ce91y3zb4QPDMx6O6ivH0FgSZuN1+bdP/HwQQEoSzusarzqg XGXPs= X-Received: by 2002:a05:600c:3e8e:b0:499:5f80:83ac with SMTP id 5b1f17b1804b1-49b0dfd7d2cmr95427445e9.7.1787840004140; Thu, 27 Aug 2026 07:13:24 -0700 (PDT) X-Received: by 2002:a05:600c:3e8e:b0:499:5f80:83ac with SMTP id 5b1f17b1804b1-49b0dfd7d2cmr95426525e9.7.1787840003602; Thu, 27 Aug 2026 07:13:23 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 03/23] scripts: rename variable in scripts/get-wraps-from-cargo-registry.py Date: Thu, 27 Aug 2026 16:12:51 +0200 Message-ID: <20260827141314.1099352-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840115280158501 Do first the change that makes the diff larger than it should be. Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 84c652127f9..0095bd937ec 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -47,20 +47,20 @@ def find_installed_crate(self, namever: str) -> str | N= one: matches =3D sorted(glob.glob(f"{path}.*")) return os.path.basename(matches[0]) if matches else None =20 - def compare_build_rs(self, orig_dir: str, registry_namever: str) -> No= ne: + def compare_build_rs(self, orig_dir: str, source_namever: str) -> None: """Warn if the build.rs in the original directory differs from the= registry version.""" orig_build_rs =3D os.path.join(orig_dir, "build.rs") - new_build_rs =3D os.path.join(self.cargo_registry, registry_nameve= r, "build.rs") + new_build_rs =3D os.path.join(self.cargo_registry, source_namever,= "build.rs") =20 msg =3D None if os.path.isfile(orig_build_rs) !=3D os.path.isfile(new_build_rs): if os.path.isfile(orig_build_rs): - msg =3D f"build.rs removed in {registry_namever}" + msg =3D f"build.rs removed in {source_namever}" if os.path.isfile(new_build_rs): - msg =3D f"build.rs added in {registry_namever}" + msg =3D f"build.rs added in {source_namever}" =20 elif os.path.isfile(orig_build_rs) and not filecmp.cmp(orig_build_= rs, new_build_rs, shallow=3DFalse): - msg =3D f"build.rs changed from {orig_dir} to {registry_nameve= r}" + msg =3D f"build.rs changed from {orig_dir} to {source_namever}" # diff exits non-zero when the files differ, which is expected= here subprocess.run(["diff", "-u", orig_build_rs, new_build_rs]) =20 @@ -68,7 +68,7 @@ def compare_build_rs(self, orig_dir: str, registry_nameve= r: str) -> None: print(f"=E2=9A=A0=EF=B8=8F Warning: {msg}") print(" This may affect the build process - please review th= e differences.") =20 - def update_subproject(self, wrap_file: str, registry_namever: str) -> = None: + def update_subproject(self, wrap_file: str, source_namever: str) -> No= ne: """Modify [wrap-file] section to point to self.cargo_registry.""" assert wrap_file.endswith("-rs.wrap") wrap_name =3D wrap_file[:-5] @@ -83,18 +83,18 @@ def update_subproject(self, wrap_file: str, registry_na= mever: str) -> None: =20 # do not download the wrap, always use the local copy orig_dir =3D config["wrap-file"]["directory"] - if os.path.exists(orig_dir) and orig_dir !=3D registry_namever: - self.compare_build_rs(orig_dir, registry_namever) + if os.path.exists(orig_dir) and orig_dir !=3D source_namever: + self.compare_build_rs(orig_dir, source_namever) =20 if self.dry_run: - if orig_dir =3D=3D registry_namever: + if orig_dir =3D=3D source_namever: print(f"Will install {orig_dir} from registry.") else: - print(f"Will replace {orig_dir} with {registry_namever}.") + print(f"Will replace {orig_dir} with {source_namever}.") self.changes +=3D 1 return =20 - config["wrap-file"]["directory"] =3D registry_namever + config["wrap-file"]["directory"] =3D source_namever for key in list(config["wrap-file"].keys()): if key.startswith("source"): del config["wrap-file"][key] @@ -111,10 +111,10 @@ def update_subproject(self, wrap_file: str, registry_= namever: str) -> None: with open(wrap_file, "w") as f: config.write(f) =20 - if orig_dir =3D=3D registry_namever: + if orig_dir =3D=3D source_namever: print(f"Installing {orig_dir} from registry.") else: - print(f"Replacing {orig_dir} with {registry_namever}.") + print(f"Replacing {orig_dir} with {source_namever}.") =20 subprocess.run( ["meson", "subprojects", "download", wrap_name], @@ -162,12 +162,12 @@ def main(self) -> None: for wrap_file in sorted(glob.glob("*-rs.wrap")): namever =3D wrap_file[:-8] # Remove '-rs.wrap' =20 - registry_namever =3D self.find_installed_crate(namever) - if not registry_namever: + source_namever =3D self.find_installed_crate(namever) + if not source_namever: print(f"No installed crate found for {wrap_file}") continue =20 - self.update_subproject(wrap_file, registry_namever) + self.update_subproject(wrap_file, source_namever) =20 if self.changes: if self.dry_run: --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840101; cv=none; d=zohomail.com; s=zohoarc; b=ECJ7gXSkRrXLaXPxOyAWmPX0mI8YqFkUkMuH0RQlttSS6UrRZ6fq5Py9Ac5TiCBTViy1VbUpZZaNG61oDGZNRo07I2Ge8DB27/G5J49PVzMoyksPge2yAFFw6BB86EjP/4QzKY1LRggQdYk3VPmXyBdCfWACt1IOEucq8epkETo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840101; h=Content-Transfer-Encoding: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:Cc; bh=2FiQTp7Qc/4aZI8CJqj9y3o4hGPPctMwiZp74U/qlY4=; b=K4Y8ixJwZl4DY4qax2qkUHAa83Xi1YNCUQDvyoZ94tAZQXqfjYprC8aNJ5upJhXCHG8j5vZgMMo2RQrhN7+601GWeW92nnvSYc0vWaNSOn9UjKsyXvCqyCIudcHX38M5teHChUrTHf9Ye2aSWsFOQhH0cuOaExjo0eVViVxAUHQ= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840101043935.4953719631752; Thu, 27 Aug 2026 07:15:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarU-0002d4-8F; Thu, 27 Aug 2026 10:13:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarQ-0002cd-Eg for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarL-0005fk-Lx for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:44 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-428-9maZh--JNQ-WfT1sA4-7yg-1; Thu, 27 Aug 2026 10:13:29 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-482e8e1ac69so539828f8f.0 for ; Thu, 27 Aug 2026 07:13:28 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e28e8fb5sm9386811f8f.29.2026.08.27.07.13.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2FiQTp7Qc/4aZI8CJqj9y3o4hGPPctMwiZp74U/qlY4=; b=ZCqZskF//n7W847BqMRP1F8LZMggARyXw4tHDcnAMSRqOtMiUG/ogC9mDzCMc6bv1Z/vMe cgBp66qHcqG8g2XjI4UJkAty9ZxIOouYOo1f12G+iXRhpb3WJRMzwlzdLyqcQBk6n/rOsh W4zFwUtB/ymIUdGlVEYKpyk6BLYSfBA= X-MC-Unique: 9maZh--JNQ-WfT1sA4-7yg-1 X-Mimecast-MFC-AGG-ID: 9maZh--JNQ-WfT1sA4-7yg_1787840007 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840007; x=1788444807; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=2FiQTp7Qc/4aZI8CJqj9y3o4hGPPctMwiZp74U/qlY4=; b=iVIvtGKA/E7qZuWQeLX9ewe+XOGKOo37LQqI2DrA7hQqFJ8RAg+5sD9ZJ1Sm/Fvnul olm4J3U6Vvi7ziOCoRMWDuuQYwgHLW56OiHQpKYcsT9/072tY2ltmct4XZQTFnZdVlxd C0NbbG5votqtMB5WguHN/LukAh0sXlDVc6VPfJZXAp+++YhBR/UuTPILerRMUiVWJUCk YfcBOLrat1MW7BCKRbXItp2wKw+dJNmFSVEAh4RBGEWqB+voS6mNStPIoMIcyrhY9RTY w+8JFCHiBsaj/UsrURZdf2B41YGzckHsK1ktF7bqAEXdY1Y/HqKRtyILAi/1a0aVjZer NAZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840007; x=1788444807; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=2FiQTp7Qc/4aZI8CJqj9y3o4hGPPctMwiZp74U/qlY4=; b=cknXMnqiw5CMPhrzAwaQK7fixGFhaDT2ac9nvyVlRcMtavCAX0W4l+tTZM20NMXPvE DUD++8Da8w/fP+Gky27r1e5brU60ybDqFUHl9kmduvnBRnrJr3+0uIbLVRNvqc2BbujJ robaqc6ENbTsV/PnNUUEbmZInIK+I13hmg8HhK25WrMl1DU/seazlR38/rB5krtXydqU k5ZsDCrp8nX+c1X2HePCFl8TCPHN1G0Oo7BnVvbf20+ic3PR6vlVJiuOj3wSUixzbaJu HKu5pX75gQNmzaiO2/O3gjHfKKSme7lQWkZBHrLJQ/hV3VVA9EpDlnPufBVTpj7/smxM wLMw== X-Gm-Message-State: AFuF++mV6orqoRIVJ4Og7EvvCq+V+M2+JGEOOVt3oLrxlcPShwYwKi15 DY3XL3VNS3DnrLqawKay349/TciA4VQPzzcEyfCoeKT5jiocEZKJNDFUN9r5RBQYBaE0PJfQwpY hmHgGH4pwR38RNro+wWX+GOy2a1+A+vkeT47AGqDERZBNeYcJNXT9siRfEwvX3f9sa61KdK3ZGV bBpRc7yJbadXu90RL3uO56LfbT8DcQbdISirfyKWdV X-Gm-Gg: AR+sD12ay8lpQAZkywjePlKiVMlYgnRa2GoYogXPgdtDhcy1wGpNs36R9EJODmHj+ny kVVKlMDCGgqjDHVno1N44gHr2zNeTmQux8VWWHRhBHMvLaFLwdBYrh9IQ1H9vXx4CNSlWmTZnT0 FM/yYe4epOUtVgHb5V3ge64PUHrHFTzf3If/8bWMoYsioHwAMCOhBkf4KVxpp1gp7kWx5YVuN90 lYfKFapskIQHbz9EAOeDJ7WR5LQhoxoAC6AwA+UFFQZzy3aUJtOISykN5GFlVv8pBjUCDeFHtk5 DeneSgXQ7da0FS+2hbtzty/JNcWLweVMsE+CTQ0iyfZXnrhcly8CCq1UPMHKTdXxSayp4VFoqBO blIBdQ3ZQriuSnYx0DF6lpZm6NI1qZT2fLkVziIIY0Sd0GXilNOqLX12HWo1rjCeGzz2dJ0ofGK eLXn8= X-Received: by 2002:a05:6000:4026:b0:47f:8cd3:4bed with SMTP id ffacd0b85a97d-482eab75e65mr9878619f8f.5.1787840007286; Thu, 27 Aug 2026 07:13:27 -0700 (PDT) X-Received: by 2002:a05:6000:4026:b0:47f:8cd3:4bed with SMTP id ffacd0b85a97d-482eab75e65mr9878537f8f.5.1787840006830; Thu, 27 Aug 2026 07:13:26 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 04/23] scripts: do not assume the new version of the crate is present Date: Thu, 27 Aug 2026 16:12:52 +0200 Message-ID: <20260827141314.1099352-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840103131158500 Content-Type: text/plain; charset="utf-8" Until now, the new version of the crate was always there in the registry. This will be different when crates are downloaded from Cargo.lock, so delay the comparison of build.rs until a point at which both source directories have been extracted. Since the .wrap file at this point points to the new directory, delete the old one "by hand" with shutil.rmtree instead of asking Meson to do it before the .wrap file is changed. Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 0095bd937ec..8b45c1551f5 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -15,6 +15,7 @@ import filecmp import glob import os +import shutil import subprocess import sys =20 @@ -50,7 +51,7 @@ def find_installed_crate(self, namever: str) -> str | Non= e: def compare_build_rs(self, orig_dir: str, source_namever: str) -> None: """Warn if the build.rs in the original directory differs from the= registry version.""" orig_build_rs =3D os.path.join(orig_dir, "build.rs") - new_build_rs =3D os.path.join(self.cargo_registry, source_namever,= "build.rs") + new_build_rs =3D os.path.join(source_namever, "build.rs") =20 msg =3D None if os.path.isfile(orig_build_rs) !=3D os.path.isfile(new_build_rs): @@ -81,10 +82,7 @@ def update_subproject(self, wrap_file: str, source_namev= er: str) -> None: if "wrap-file" not in config: return =20 - # do not download the wrap, always use the local copy orig_dir =3D config["wrap-file"]["directory"] - if os.path.exists(orig_dir) and orig_dir !=3D source_namever: - self.compare_build_rs(orig_dir, source_namever) =20 if self.dry_run: if orig_dir =3D=3D source_namever: @@ -99,15 +97,6 @@ def update_subproject(self, wrap_file: str, source_namev= er: str) -> None: if key.startswith("source"): del config["wrap-file"][key] =20 - # replace existing directory with installed version - if os.path.exists(orig_dir): - subprocess.run( - ["meson", "subprojects", "purge", "--confirm", wrap_name], - cwd=3Dself.top_srcdir, - env=3Denv, - check=3DTrue, - ) - with open(wrap_file, "w") as f: config.write(f) =20 @@ -124,6 +113,10 @@ def update_subproject(self, wrap_file: str, source_nam= ever: str) -> None: ) self.changes +=3D 1 =20 + if os.path.exists(orig_dir) and orig_dir !=3D source_namever: + self.compare_build_rs(orig_dir, source_namever) + shutil.rmtree(orig_dir) + @staticmethod def parse_cmdline() -> argparse.Namespace: parser =3D argparse.ArgumentParser( --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840065; cv=none; d=zohomail.com; s=zohoarc; b=OrMDoAwPaNewYpgZlADsE7WloeMuXU3raLkc+dQzQYBYSTok6BFLScXPOpigBmo9lNTN8zhEDmSLlLuBv1iuvK0QPlgtTrSqJomk4J8gBPIHmYSrF8dTF+jnEg7Ovwa6DmNHtmYLD9nBSHpbBRuFH5GoP2T7/EJx2qUJ3apaSLA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840065; h=Content-Transfer-Encoding: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:Cc; bh=pmhrxutqvfwk8kCCA5LdrLPDB71Ss207mNaYjLClR4E=; b=Gc2vMyClVualFiHCqRpskoKykZdfPKZbN8Edmclv0EBAX5lI/AIdwGSkqEI1KPBOEkH2gAWuBz1RFifKMuIw80MVwSsJbkoRw7hduC5j4P8h6OF6BlHzR5hlu4JvNXcb9sMgAHuC7Veif4+v0NaWCImiDdfxP/4GBrJxtzYlxWI= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178784006519656.509713304124375; Thu, 27 Aug 2026 07:14:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzara-0002ew-3y; Thu, 27 Aug 2026 10:13:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarQ-0002cc-EX for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarM-0005g4-6m for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:43 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-270-aoipw8JUPa6BN2bAW2iuzA-1; Thu, 27 Aug 2026 10:13:30 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-c24ae1a510cso63916766b.3 for ; Thu, 27 Aug 2026 07:13:30 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88a928sm801105466b.33.2026.08.27.07.13.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pmhrxutqvfwk8kCCA5LdrLPDB71Ss207mNaYjLClR4E=; b=iCrHVKVhY+VKfDL50sBA1SkYT5PU7ns96g+Wv+PJdPr7yoXGQjX2/+IzMMYkEXanBX10uH XetWz7UxxXpQF3WYoH89YhBHDEprGFUEw6PLaViUwvz9Ja1wIAJG68XDHGZfB3MmNiuoO3 tL48sHHNDKeY+8hq+Rd6OqJQwlyRcyk= X-MC-Unique: aoipw8JUPa6BN2bAW2iuzA-1 X-Mimecast-MFC-AGG-ID: aoipw8JUPa6BN2bAW2iuzA_1787840010 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840009; x=1788444809; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=pmhrxutqvfwk8kCCA5LdrLPDB71Ss207mNaYjLClR4E=; b=VsnhDFEggCpAZhnSIAXNrfSUQZgpmjUx9QtviTP6wjxrXImY8dhcwGvXWdbf5r1X96 w/5BNINyN5bybiZ1rQNCSgTw9bS8ir/kjQHVEtJfQz5yjwj1MnZYeAubcqIn/eQ4nPJU QWg4/jcs1tETYwuGU5xX/NFy/amC80bS14HU9h4WXHVDDJvhZ6TR8h3J1GyMM7jdteIi kre+8PcMC9xUdeS4tXsicXl4MPU+ROU4dWkOjVNMbuwzafAfRSq7OncF/V4T74PS3WYq 0mrRnX+JpZ5OOnaPVpnYno0DuGi8cwYNUsT8MGrpq454um3PPeGcTWTU8tWfo06aVdRa 7GAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840009; x=1788444809; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=pmhrxutqvfwk8kCCA5LdrLPDB71Ss207mNaYjLClR4E=; b=sYW/6P5X4BXfPitOUQJA3kptME9lA4fBnK25uepaYjLVwBxfJjpvYCI/F9DM1b7Lyb ujA0BlMrSxVkag++z2h1UakIWjDw777OruGebN2qEDBooceMKucxtsQBuaKufEGTL6pA DKbcIJtLZ1RyzcDKHatitwNuJDAkJ7Mre4meK7jvXYAYZb//KXVqsshOeauVR3FkKgJY fZ2hvaMo2UzIeYqRuw4FEe4OwXajQvxVr60FnKFdpzYefsjWrh1FNgGwR6jG/ExPU9hU SnEv60jkrjwA00NhylrzUaU/dqNJRG/SLEzVDHRe9dbzO/MR44FxtqL3pVKYVNVG0o43 HZSQ== X-Gm-Message-State: AFuF++lRztPswY9rrpNZjPfyDeaR0nFDmlwdF9h7lzDa4sC/y9wFqeIw TdrmjMAo6ACxRYjtJnSVDmgCJJ4Lsxll8iaATzrm0MGeTOa8ImiAtxWAbVl6R9PmrigUWru0cAE xHz/GfJTc/ef33v/F2jJdb8OX/DNkNCZUEqgDIZJh0CYIfLxbuO22mJdMwxVNPCvoozSpMT6/Af Fo07oHvwS1HvXg67x3b3EDB+5iaSBcUmM6/KGT4xbF X-Gm-Gg: AR+sD13B8vdpI8u33smRnASFEQtsxf9SxHSWmDReL6d0hK7Mbr0L57fJVm6rwG6j2nV bf7zBnKL5gOus4uFNiJe+WgtDfo43HBa+mAIljdf5nqbjNbv12+pAboFdIF1FQGYupRSsr877XM y7B7ZuQDuy1p8VanxzU7QKY+x2/SJEvgXCKfqE0/FVM1aBOAWlkXotMkCMpA74xGIzV8NnKYTCd hW/OoUOsrb8Hb+IRydhCIj/cJZBK6znIfmylBlKtOKxvhS0ayB4Nj8aznZ0xnIRz99jbS2YY0eQ xYznmcyx4CqOLL8CBGENYryUOrhDuCtnEVtJ+AXVj07RQP84w5SyYIUaJ0gIaF6bL55oOUuv2Kg jVXzOAyO0YjP4YruIq/oCHp+YT70a8h+s//PxWXNBQ6qqhobWgo90+zeaYx5CNMkZ4DwB9/QH82 pv1tM= X-Received: by 2002:a17:907:e84a:b0:c1c:4a80:30c4 with SMTP id a640c23a62f3a-c250c33108fmr1751443666b.11.1787840009612; Thu, 27 Aug 2026 07:13:29 -0700 (PDT) X-Received: by 2002:a17:907:e84a:b0:c1c:4a80:30c4 with SMTP id a640c23a62f3a-c250c33108fmr1751438666b.11.1787840009108; Thu, 27 Aug 2026 07:13:29 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 05/23] scripts: prepare for introduction of CrateSource class Date: Thu, 27 Aug 2026 16:12:53 +0200 Message-ID: <20260827141314.1099352-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840066857158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 8b45c1551f5..8114f0731be 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -48,6 +48,14 @@ def find_installed_crate(self, namever: str) -> str | No= ne: matches =3D sorted(glob.glob(f"{path}.*")) return os.path.basename(matches[0]) if matches else None =20 + def rewrite_source(self, section: configparser.SectionProxy, orig_name= ver: str, registry_namever: str) -> bool: + # the registry already holds the extracted sources, so Meson does = not + # download anything: drop the source_* keys. + for key in list(section.keys()): + if key.startswith("source"): + del section[key] + return True + def compare_build_rs(self, orig_dir: str, source_namever: str) -> None: """Warn if the build.rs in the original directory differs from the= registry version.""" orig_build_rs =3D os.path.join(orig_dir, "build.rs") @@ -82,7 +90,8 @@ def update_subproject(self, wrap_file: str, source_nameve= r: str) -> None: if "wrap-file" not in config: return =20 - orig_dir =3D config["wrap-file"]["directory"] + section =3D config["wrap-file"] + orig_dir =3D section["directory"] =20 if self.dry_run: if orig_dir =3D=3D source_namever: @@ -92,10 +101,10 @@ def update_subproject(self, wrap_file: str, source_nam= ever: str) -> None: self.changes +=3D 1 return =20 - config["wrap-file"]["directory"] =3D source_namever - for key in list(config["wrap-file"].keys()): - if key.startswith("source"): - del config["wrap-file"][key] + section["directory"] =3D source_namever + if self.rewrite_source(section, orig_dir, source_namever): + with open(wrap_file, "w") as f: + config.write(f) =20 with open(wrap_file, "w") as f: config.write(f) --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840110; cv=none; d=zohomail.com; s=zohoarc; b=b/PiGMCvyrRJWNGej86670DtttkawjPsDQp/WlfmlEjLtw3kxnR7NhVebsKkb8cOXn0SG36+8+YPpJNoahlPV1txES6YsPNqRsgO16unsYt3Z/+kAYqdlWhhUd+8sNnmbHSxBdr3vStcucqO3j2h1gbLtoPtfKH1yx+tk/5mKhE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840110; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=54WY2o82iGBH8d5H4JTOlD44ATSwqc2GBS3osVVeSxI=; b=M4JELi9s/thn6PFMSGUovDpC4lbpXjfVdkfBSb2H7F4GlGKMslI+vJGMRBrFFONTmOCx6IcnEJEXlPLzbSSJDtK3IEKGzXR+34sXo66hB7H1MRU5QmoOd3+tKzTBL6xY21Hh6kM15Dau5wWbD9xaeDjChIdwSja/2D0H+u4IYRg= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840110593674.2202000610263; Thu, 27 Aug 2026 07:15:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarb-0002fE-Pk; Thu, 27 Aug 2026 10:13:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarS-0002d3-F3 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarM-0005gc-8e for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:44 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-364-Wx2kppEJMfinuWmfOfahsA-1; Thu, 27 Aug 2026 10:13:34 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-49554715277so7534575e9.1 for ; Thu, 27 Aug 2026 07:13:34 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b4b2d6b30sm53384835e9.14.2026.08.27.07.13.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=54WY2o82iGBH8d5H4JTOlD44ATSwqc2GBS3osVVeSxI=; b=JBqlsY24ejKiZAL/J3SIMIKDBwAb2N5OQS8llhI2mhELLKNEXEcmqGXtLo5SOmDGhux1Cx KaeKEim2nqB1MhRgymvfQ97dMkTpvBqAAk78Uu/Ysiecq5tgQpeFCFf/ibdb9nTj0R+9zG RK8Alk0gMEClWwhXX6QIrIQkU3yjJjg= X-MC-Unique: Wx2kppEJMfinuWmfOfahsA-1 X-Mimecast-MFC-AGG-ID: Wx2kppEJMfinuWmfOfahsA_1787840014 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840013; x=1788444813; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=54WY2o82iGBH8d5H4JTOlD44ATSwqc2GBS3osVVeSxI=; b=N9UA8WrabjrBCsQITOuNTzc8oeN2rvHOV4BqK/EEdd0wwJSZfCtg4VV6rEbvjrN6OE UUTCBc9utIHtGDpQDWkEVmnmN13NZPEn8Dx1gDiYChbltP3tvbw+mongXq6vbOfBsUWV 7ckaz5vpD/dIRTOvTDTFH/FDxMVa3n7FYs/kRZ40qK8VfjahEKo0E7K7gDT0ujBAZ9Zr ELfzGrVahjPToh+/jsB4ukSfQQG91zsc+M69VfeOoSqvjuPcKt+xv3qjKSld2Lj3e9PW qvKC0CQzwwoW7O5Oe/g2NcRFCiJ1eezJkgXevIbiBKKb0huyGIYi5QYfNxs5ECUdzw5F vIiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840013; x=1788444813; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=54WY2o82iGBH8d5H4JTOlD44ATSwqc2GBS3osVVeSxI=; b=cs2IFlbBZiDgrJCuPM7NbCRI8m9BoEQlSMYKSEt3eMbqk5XPn+YecYh+5kVLOngW36 TjMn0fpy9o6jlevfYfue/ty9aVG0XqBK2Sf5hW8wKYSpzV5APCVYZitG/5WQR+8Rvvlb 07+vQbo2BPMgH6Vbv+q2Cz6Zpx5xCve9vZJIiu83xeJkP8XfzOSlfcIJOu+w3uvtml9T cB9cAyMWBgiUXv+4KCIn05n8mipp0op8em/bItNwQkHgpD6YR+LAozUg35qqINSvcwQC 8nxox7E9IXuAqZYLQMuNdENlyeuIWfOHxKTu/R3rmJx8HwKqbI8TO2qwikMxiUagHiaY uruQ== X-Gm-Message-State: AFuF++nfe5OFjl4E0/xb3iXbnrepipTHJ4KEjEXRGl9oDGKh6Jw+D9xf nYTwSOcRJ9ctgpNnPD9iDfJNW9mvDhhQwS/JiaXB03JcLQX5/ZLLj8IU+PUgWs3/SruGWIwA5tO nGklnLrhcStngdfyQUiNYdEUvx/Z1GHGdWSJBo7e7oKJpXck/D18+uKsQ+dIv0xVC6NnWXjZa10 1jiKlh0R+1b4JH5YdGVc9ypEclgzsWw77AUxVdmJif X-Gm-Gg: AR+sD11oa2PlB/SDJKH+CBhfN6TbTNQo6U2SO1MslkSuy4Ikx43qfoaDm36lbZOwkBW FbKJKRS/05GEIIK0tFl0dev2xgQqsUL3r/cNjsAjX469aQdd+0OC8vgU+b0GrQXFmh8KKd4CDIg xf12KGcbvaT+RqIUXa0ycrxsqebmgpEhqpgXDtsNmSWXx9IS0DlvsWHgoDGR4qSm5TlkFxJZjbf TkH4jDsFunuDLTbpniBvP/WDzT2dlvOqgoYloyg1k1l1Ea6v0a03wjzi3sIKljQsRMrUHn8kCkN DcVeRxQKZBgYrhFuVInKyEM1m+U2yXVqqPPGRdascVl/gleXUZB+1H0b96Dv3ePKz2O3SZMW6Lt sLiUXw1G/D2E7YcfYWn/jNTPir8FWrVGMXDLab1PrqxQIHMQUNmGkgZ4zxHHR+U7exPrbadUGWH 0x2Gs= X-Received: by 2002:a05:600c:4445:b0:499:a685:c10 with SMTP id 5b1f17b1804b1-499dc6fd832mr187424705e9.4.1787840013425; Thu, 27 Aug 2026 07:13:33 -0700 (PDT) X-Received: by 2002:a05:600c:4445:b0:499:a685:c10 with SMTP id 5b1f17b1804b1-499dc6fd832mr187423445e9.4.1787840012900; Thu, 27 Aug 2026 07:13:32 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 06/23] scripts: introduce CrateSource abstract class Date: Thu, 27 Aug 2026 16:12:54 +0200 Message-ID: <20260827141314.1099352-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840111313158500 Prepare for making the script able to update .wrap files with versions from Cargo.lock. Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 49 ++++++++++++++++++------ 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 8114f0731be..636e4ba3474 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -29,18 +29,36 @@ def get_name_and_semver(namever: str) -> tuple[str, str= ]: return parts[0], parts[1] =20 =20 -class UpdateSubprojects: - cargo_registry: str - top_srcdir: str - dry_run: bool - changes: int =3D 0 +class CrateSource: + """Class for locating crate versions and pointing wrap files at them. + Subclasses know where the source of a crate comes from and how to + rewrite the ``[wrap-file]`` to consume it.""" =20 - def find_installed_crate(self, namever: str) -> str | None: + origin: str + + def find(self, namever: str) -> str | None: + """Resolve a 'name-semver' prefix to a concrete 'name-version'.""" + raise NotImplementedError + + def rewrite_source(self, section: configparser.SectionProxy, orig_name= ver: str, source_namever: str) -> bool: + """Update the download-related keys of a [wrap-file] section.""" + raise NotImplementedError + + +class CargoRegistry(CrateSource): + """Locate crates already extracted in a local Cargo registry directory= .""" + + origin =3D "the Cargo registry" + + def __init__(self, path: str): + self.path =3D path + + def find(self, namever: str) -> str | None: """Find installed crate matching name and semver prefix""" name, semver =3D get_name_and_semver(namever) =20 # exact version match - path =3D os.path.join(self.cargo_registry, f"{name}-{semver}") + path =3D os.path.join(self.path, f"{name}-{semver}") if os.path.exists(path): return f"{name}-{semver}" =20 @@ -56,6 +74,14 @@ def rewrite_source(self, section: configparser.SectionPr= oxy, orig_namever: str, del section[key] return True =20 + +class UpdateSubprojects: + cargo_registry: str + source: CrateSource + top_srcdir: str + dry_run: bool + changes: int =3D 0 + def compare_build_rs(self, orig_dir: str, source_namever: str) -> None: """Warn if the build.rs in the original directory differs from the= registry version.""" orig_build_rs =3D os.path.join(orig_dir, "build.rs") @@ -102,7 +128,7 @@ def update_subproject(self, wrap_file: str, source_name= ver: str) -> None: return =20 section["directory"] =3D source_namever - if self.rewrite_source(section, orig_dir, source_namever): + if self.source.rewrite_source(section, orig_dir, source_namever): with open(wrap_file, "w") as f: config.write(f) =20 @@ -110,9 +136,9 @@ def update_subproject(self, wrap_file: str, source_name= ver: str) -> None: config.write(f) =20 if orig_dir =3D=3D source_namever: - print(f"Installing {orig_dir} from registry.") + print(f"=F0=9F=91=89 Installing {orig_dir} from {self.source.o= rigin}.") else: - print(f"Replacing {orig_dir} with {source_namever}.") + print(f"=F0=9F=91=89 Replacing {orig_dir} with {source_namever= }.") =20 subprocess.run( ["meson", "subprojects", "download", wrap_name], @@ -154,6 +180,7 @@ def __init__(self, args: argparse.Namespace): self.cargo_registry =3D args.cargo_registry self.dry_run =3D args.dry_run self.top_srcdir =3D os.getcwd() + self.source =3D CargoRegistry(args.cargo_registry) =20 def main(self) -> None: if not os.path.exists("subprojects"): @@ -164,7 +191,7 @@ def main(self) -> None: for wrap_file in sorted(glob.glob("*-rs.wrap")): namever =3D wrap_file[:-8] # Remove '-rs.wrap' =20 - source_namever =3D self.find_installed_crate(namever) + source_namever =3D self.source.find(namever) if not source_namever: print(f"No installed crate found for {wrap_file}") continue --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840117; cv=none; d=zohomail.com; s=zohoarc; b=NOkN/xrlWd8WH4Sks2qSzJjJ/l5NvxTuUeJEviorgcO4ghDk5MtU7M5Fx5hIYnKYLkGdJXVmpCzdldBpGFSEaaHZmiPIOx6KAQkc0cbyMMIHOTz94o7j8cjRwPbIH5Vrq2hmtkez37zbkNQF64tWt1b8o10P8esdwxmC25JPg3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840117; h=Content-Transfer-Encoding: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:Cc; bh=M2i19n0p9YgArVOv8vKeFeUdAlRf+ZdvKQUP5HpsMcQ=; b=Fqf5RPKA3Lt0G9SS4FilrWj9b87VPk5cKq20pBTSgu7N1u6cIpqggibYXRZhosybu3WwlyOgkeEwPBXiVIMGqm/rRCjhYGYPf/8XLWl0/72r3QxkAkasWg95MtiMPY47dQZBCA9YcPwa9uoUE7qA3jIkbDrvE+7gNL61YOiwtY8= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840116998671.1926692451906; Thu, 27 Aug 2026 07:15:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarW-0002dp-7O; Thu, 27 Aug 2026 10:13:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarS-0002d2-Dw for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarM-0005h5-DJ for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:45 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-486-1WgA5uQRNTuMI7iSWZZv-A-1; Thu, 27 Aug 2026 10:13:37 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-47eaa4006a1so510332f8f.0 for ; Thu, 27 Aug 2026 07:13:37 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e28fe2ecsm9325731f8f.37.2026.08.27.07.13.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=M2i19n0p9YgArVOv8vKeFeUdAlRf+ZdvKQUP5HpsMcQ=; b=S0mxHqnbZ/7YaChqWmbDuxcNxukc096070EzfDMbetbsJhsCaa5OCoauvJ77J5XLg4CpUi t3f+D9nsDhaGLNgzu6/jetEpjwPqAtneQg1IO4EthpLHbGeKhtuHP0T4XIJCmhopF38rQ8 wQulc60njVl6zcol8i1x5n8GP2qzIAU= X-MC-Unique: 1WgA5uQRNTuMI7iSWZZv-A-1 X-Mimecast-MFC-AGG-ID: 1WgA5uQRNTuMI7iSWZZv-A_1787840017 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840016; x=1788444816; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=M2i19n0p9YgArVOv8vKeFeUdAlRf+ZdvKQUP5HpsMcQ=; b=QnEN0fG8fhdvRrL2QGCtk1RH/nuxv3RQOO/a9Mc+qp34/IZgQro9hiDWBnnyhy/J3p YZKOGPUe3uvmbkFhHsRXBTkT2lv7zdceo1cbAfe07qA0M68Yxw7elZehVs1gdD4z6WK9 +Ae9ZToz7Pfn7m36+bSks/zgcvRjfU8I+hEU/AbUaintFqHCqpnmlCiun1/QaWgbdrWN JyoWfqCM+6MwPwQXPMu9HxDU/pqf86UVmD3W8voiGAPw4/BlTNtWmxYwuQkA2wtSSPQ/ ACozSsUrcM/JtmuiYey569iFba3agb9Kn9R1ncvNNEWmyRXbftr2Cv6qb5Ql+Jy9cxYg slsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840016; x=1788444816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=M2i19n0p9YgArVOv8vKeFeUdAlRf+ZdvKQUP5HpsMcQ=; b=oLxqxsve57/yGamlH3243xRE53JxGDj9qXthvtfrImcpXNc99lEBWT8Q7ypecBQ4mY c4pQFGWzi6dN8aVLXzHpyNElAPn7oWpesWuCidpIC/KZ0C3ml7O6vKcOMjsfTAporYwz I0jkLxCFeZf6/RtXESaY7r0cDiG0N6F2qnwWJeD0PgQbCIAH1hok7J5jHBHIgNmLAVr6 TUtMeb5VFdEOG51Z9v3/5zsq+svJqhc7ZlRkgWk1q1Qg5GGLWlsHTXPZw0H2zFhtfeF2 ukS2bNU4niBQa+iMx4Lgkz3ZKNsZMIzLLisUT6ESQOFChJkmert1jXTsHw/8qjV9zkqx Gzzw== X-Gm-Message-State: AFuF++mF9MwRxpzQBXnXyk317/ZczBsBQ27zTQTKfROamsbduz54vah1 hqZJNHxsOScnq/d39QRKldYmWaP/1qzFcnkbz1dAmC3V3QjoGXXSb7o9IlXXO4dPssooXiNd0fj RiPHIifEIf1cB8YPKwnpXY0ZpbSXRzrmaNI6AVCYQdsA9bZRPq1AHA6OTMWC7UdgLgplEFwqq1x w9Nmlu9aU81TPXEVBN49o+HzQVpwOySo08RNOy3v8M X-Gm-Gg: AR+sD108dAjG7aFrTIjw2x6QXhNrFUgYOhIJmtkVCxX8D5WZNDZxYldiCCYNuHr3L2l DY2lpSeuelE19lch04Zg29lxXiBZfHi/k5VE/ViQNjf4nuGkyHjSeMuR8+vU3douTxLRtpizEoP qQRsXZnORQvcoQLz7njAdvYo0YTRHlrrFErooeaQJaPjOyC32p17Rb3MgCjdpfsoINsvHvLBCD+ f1u5Aql8JeDkn1P2kRhl4t2xctrWqxVAOyFoBqv+SAnyL9YGRZNVuowkpPL47QQEei5I9CvAmVC eCU3aU23wbYTJV3kFTQEEZUD6cNSCi5y5uAHYHQ/ZshuOsXFunKreM1Uk9ZAkDsxLmwJAFM+XzA SPujcndsBrPMC2WzUkEuIJWgzjXxRwDlxsYbmmkm7gl3Gq6aKv/YTjNicVjVBDFTaEiPg3B/WgZ yewZs= X-Received: by 2002:a5d:5847:0:b0:482:dd86:348 with SMTP id ffacd0b85a97d-482eab6a866mr9268106f8f.4.1787840016474; Thu, 27 Aug 2026 07:13:36 -0700 (PDT) X-Received: by 2002:a5d:5847:0:b0:482:dd86:348 with SMTP id ffacd0b85a97d-482eab6a866mr9268007f8f.4.1787840015887; Thu, 27 Aug 2026 07:13:35 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 07/23] scripts: add functionality to update wrap files from Cargo.lock Date: Thu, 27 Aug 2026 16:12:55 +0200 Message-ID: <20260827141314.1099352-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840119383158500 Content-Type: text/plain; charset="utf-8" .wrap files and Cargo.lock contain pretty much the same information. QEMU uses the former to make it easier for distros to use a local registry, and also because Meson <1.13 does not use Cargo.lock for the "meson subprojects" command. This however introduces an inconvenience when running "cargo update", in that the wrap files have to be updated by hand. Add the possibility to get new versions from Cargo.lock and not just from a local registry, thus automating the update. For now, only existing wrap files are modified. This means that semver-breaking updates need to be done (at least partly) by hand; it is enough to rename the wrap file prior to running the script. While the need for this script is a lot smaller with Meson 1.13, it would still remain useful for packages that have a patch directory. Perhaps a bit overengineered, but since we have it... Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 77 +++++++++++++++++++++--- 1 file changed, 69 insertions(+), 8 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index 636e4ba3474..b3ae5a2c284 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -3,7 +3,8 @@ # SPDX-License-Identifier: GPL-2.0-or-later =20 """ -get-wraps-from-cargo-registry.py - Update Meson subprojects from a global = registry +get-wraps-from-cargo-registry.py - Update Meson subprojects from a Cargo +registry or from the versions pinned in Cargo.lock. """ =20 # Copyright (C) 2025 Red Hat, Inc. @@ -18,6 +19,7 @@ import shutil import subprocess import sys +import tomllib =20 =20 def get_name_and_semver(namever: str) -> tuple[str, str]: @@ -75,6 +77,49 @@ def rewrite_source(self, section: configparser.SectionPr= oxy, orig_namever: str, return True =20 =20 +class CargoLock(CrateSource): + """Locate crates by the versions pinned in a Cargo.lock file.""" + + origin =3D "crates.io" + + def __init__(self, path: str): + with open(path, "rb") as f: + data =3D tomllib.load(f) + + self.versions: dict[str, list[str]] =3D {} + self.checksums: dict[str, str] =3D {} + for pkg in data.get("package", []): + # workspace members have neither a checksum nor a crates.io ta= rball + if "checksum" not in pkg: + continue + name, version =3D pkg["name"], pkg["version"] + self.versions.setdefault(name, []).append(version) + self.checksums[f"{name}-{version}"] =3D pkg["checksum"] + + def find(self, namever: str) -> str | None: + """Find pinned crate matching name and semver prefix""" + name, semver =3D get_name_and_semver(namever) + versions =3D sorted(self.versions.get(name, [])) + + # exact version match + if semver in versions: + return f"{name}-{semver}" + + # semver match + matches =3D [v for v in versions if v.startswith(f"{semver}.")] + return f"{name}-{matches[0]}" if matches else None + + def rewrite_source(self, section: configparser.SectionProxy, orig_name= ver: str, new_namever: str) -> bool: + # rewrite the download keys to fetch the pinned version from crate= s.io. + if orig_namever =3D=3D new_namever: + return False + name, version =3D get_name_and_semver(new_namever) + section["source_url"] =3D f"https://crates.io/api/v1/crates/{name}= /{version}/download" + section["source_filename"] =3D f"{new_namever}.tar.gz" + section["source_hash"] =3D self.checksums[new_namever] + return True + + class UpdateSubprojects: cargo_registry: str source: CrateSource @@ -104,12 +149,13 @@ def compare_build_rs(self, orig_dir: str, source_name= ver: str) -> None: print(" This may affect the build process - please review th= e differences.") =20 def update_subproject(self, wrap_file: str, source_namever: str) -> No= ne: - """Modify [wrap-file] section to point to self.cargo_registry.""" + """Modify [wrap-file] section to use the crate resolved as `source= _namever`.""" assert wrap_file.endswith("-rs.wrap") wrap_name =3D wrap_file[:-5] =20 env =3D os.environ.copy() - env["MESON_PACKAGE_CACHE_DIR"] =3D self.cargo_registry + if self.cargo_registry: + env["MESON_PACKAGE_CACHE_DIR"] =3D self.cargo_registry =20 config =3D configparser.ConfigParser() config.read(wrap_file) @@ -157,9 +203,15 @@ def parse_cmdline() -> argparse.Namespace: parser =3D argparse.ArgumentParser( description=3D"Replace Meson subprojects with packages in a Ca= rgo registry" ) + parser.add_argument( + "--cargo-lock", + action=3D'store_true', + default=3DFalse, + help=3D"Update wraps from Cargo.lock", + ) parser.add_argument( "--cargo-registry", - default=3Dos.environ.get("CARGO_REGISTRY"), + default=3DNone, help=3D"Path to Cargo registry (default: CARGO_REGISTRY env va= r)", ) parser.add_argument( @@ -170,9 +222,15 @@ def parse_cmdline() -> argparse.Namespace: ) =20 args =3D parser.parse_args() - if not args.cargo_registry: - print("error: CARGO_REGISTRY environment variable not set and = --cargo-registry not provided") + if args.cargo_registry and args.cargo_lock: + print("error: --cargo-registry and --cargo-lock are incompatib= le") sys.exit(1) + if not args.cargo_registry and not args.cargo_lock: + args.cargo_registry =3D os.environ.get("CARGO_REGISTRY") + if not args.cargo_registry: + print("error: CARGO_REGISTRY environment variable not set = and " + + "--cargo-registry or --cargo-lock not provided") + sys.exit(1) =20 return args =20 @@ -180,7 +238,10 @@ def __init__(self, args: argparse.Namespace): self.cargo_registry =3D args.cargo_registry self.dry_run =3D args.dry_run self.top_srcdir =3D os.getcwd() - self.source =3D CargoRegistry(args.cargo_registry) + if args.cargo_lock: + self.source =3D CargoLock(os.path.join(self.top_srcdir, "Cargo= .lock")) + else: + self.source =3D CargoRegistry(args.cargo_registry) =20 def main(self) -> None: if not os.path.exists("subprojects"): @@ -193,7 +254,7 @@ def main(self) -> None: =20 source_namever =3D self.source.find(namever) if not source_namever: - print(f"No installed crate found for {wrap_file}") + print(f"No crate found for {wrap_file}") continue =20 self.update_subproject(wrap_file, source_namever) --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840119; cv=none; d=zohomail.com; s=zohoarc; b=mB16HD9WCZXInJleuk6ghwZFeDVYDx1VdpgdLJJD4D2//fIHuH+U5awjOhG4TgANfwCGHQRxJJlqQRmdqIEaT7Mp8YljHEbzF8ZLLHZXP/miycAvsoHh572HColuZJxDvvjdRj7kthfFtvBdmcy1KQSBYz0ednzd4Lo7bQptf6Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840119; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=jEkhhmfARJthnU2Ad+S3BEdQZlV4xabCHmVmi7VfYGk=; b=PlH51hZ3kb3rU+nD5HiR5Sk/stKPsUdeEzoA32IrAj5+ZvQxQS1J+9I4Xx7reruBXbJ3Um5FPx4bpE7gZU7S8KFR2eY1Wt85n0Tf7wxVF9fgSP1Io69hl41GEYJB8lK5n2RpeldaPAUcXPo/qZTQwLwLDWUzv3CbwqAiVDodHT8= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840119922348.33875494338486; Thu, 27 Aug 2026 07:15:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarf-0002gA-Jv; Thu, 27 Aug 2026 10:13:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarc-0002fa-Cg for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:56 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarS-0005iP-5R for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:54 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-86-LuL3_zdwOQCLKzHo8U2FnQ-1; Thu, 27 Aug 2026 10:13:42 -0400 Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-6a5d682e372so973979a12.0 for ; Thu, 27 Aug 2026 07:13:42 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6a5de5f7bb8sm6543615a12.0.2026.08.27.07.13.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jEkhhmfARJthnU2Ad+S3BEdQZlV4xabCHmVmi7VfYGk=; b=X3RV+VNNluIRRLi/ijP749vUZlCDrqE+xULz2Eh1bi7e7d3bYyNAaWSzhSlEg9TwWSheyK RXyUAED37lupSuHDZauwWMY7LYvMt2HVjyYRrL+bi003r95o638SyaFWNwO+jbKxSiRYxv IOO7eXg0ytY5ZjM4FF57NPYbiILaPgA= X-MC-Unique: LuL3_zdwOQCLKzHo8U2FnQ-1 X-Mimecast-MFC-AGG-ID: LuL3_zdwOQCLKzHo8U2FnQ_1787840022 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840021; x=1788444821; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jEkhhmfARJthnU2Ad+S3BEdQZlV4xabCHmVmi7VfYGk=; b=Gz6yQID/wsk3x7kZvCIc/YFpdj97yzW9LleegiJeE676K7eUf+uFgZkaybcMHttNXp 5Gcb/ZkwqXzWFTxpp/cRLHSBOgUTqVFcm49L3J5MT3RscSEmNQjNtkTuAOvGQvBUfMvv J71ozJssjaOZBSyVsf2uRO666Sx1iGEMIHhVAx3RX+7pw+dWec3bzDbqJqSXIxWawa4f R3LENoihf9QqPBOfxGnDxzaspXfC7bMerPcs7ymAju65EQRu0FTC/wjLmPl9cjaNgOwX ugBx7GR5up539oM+C+gT8usoCrMNmnm59fI6UuS9O9VeDeUAbudasXXLbXYnYY6hLTx1 geYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840021; x=1788444821; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=jEkhhmfARJthnU2Ad+S3BEdQZlV4xabCHmVmi7VfYGk=; b=efULpZx5N8Bgj3ZHLXnZ3Y9XnbuEQCEGoaWWvAZYHKyGUHhOKY1QRpTvnUVAIQXadM MiwC4OwwUXmiu1lgpMrBnm1Z3VA7mBhoTjI+KodCmqJ1517ZuVa1udw3synI87pIZiHb ttw4UCfvW0G3PymJQzvqEauKeJjfHmfxQ5gER1b0deoNvGhSzbPFZX8DGMFvnpA9isTM 6NiKqHxMyECVsi4oEWDYsY4kzfcLQiKtdBtNVWhirV6aF73Y1tsk06AOKsucyNGO/HvQ FDb5/FXly0oI+9SaOttkHrSILra0Wh2L/KEjqivlmaWLMmkeQqxpP1+ZKcuAN96hlipT 8Onw== X-Gm-Message-State: AFuF++ltPhhDqSRl9H2vQ2TpmWUGgP6qyMuPtPoozpXOI2dDVb0aoWDB szVPl6fWHIe+5ZJIPLKoQPZQpENGYV9ah57aBxw9gT+5IcPtepz6DLFWdx5ZB5W2I1b8ktLiWjr ADv7YqlCKug1WJ8XntO8/VkuscDk94oaKRRxuUxMqLADelWSsUIxrzwUjZq6D3I3nR7BW887EcY TRKNlvYaU0mBWe5EFfH/S+Cnae6Y5lsPCXXWsQaEZm X-Gm-Gg: AR+sD10dfbgmu6UulPhNIW5m35YonMCuaiKIukamOdAnuSXY7bjS+JLcNEqYSPW9ToY bUfXneGvHbTsSsasFWpOso/ww8Cd5ViOG6wCqunsoum7uUZeUcWBUUhlFbmPz5u8gYwpRA9IPcB 2fSVYCFwHXgtKjDECTQ3F8BqSLMqdQuZD6ufzfoc8g5+QK2iidF1Lh09fSBk+X3fI4Cl/XTUsd9 INts8igAZp+BCpM7QVrR3Q69ITldFFdvelYd4jlXrc37sJXHOOmfJk5Rfd/01CzmRnVCjWvfB2N PSMHj9fQucyl26u+lOrDncRx23oRdy/Isa/DmhBVZNIuH7n9bMmlpPJ1cMHVqcnsHMZPTY1MlQ8 m81k7qPrn3A0+q5tEoY+z1PfLMcDZsXBc/S0RmvxlKk43UIYQFM8VWqE4nmxu9MT4Blj1Jy5CGm Dtf1I= X-Received: by 2002:a05:6402:4545:b0:69e:2ca5:53bb with SMTP id 4fb4d7f45d1cf-6a5f4e646edmr4827009a12.0.1787840021539; Thu, 27 Aug 2026 07:13:41 -0700 (PDT) X-Received: by 2002:a05:6402:4545:b0:69e:2ca5:53bb with SMTP id 4fb4d7f45d1cf-6a5f4e646edmr4826968a12.0.1787840020934; Thu, 27 Aug 2026 07:13:40 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 08/23] scripts: add the possibility of a quick update of the pacakge Date: Thu, 27 Aug 2026 16:12:56 +0200 Message-ID: <20260827141314.1099352-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840121306158500 Signed-off-by: Paolo Bonzini --- scripts/get-wraps-from-cargo-registry.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/get-wraps-f= rom-cargo-registry.py index b3ae5a2c284..a26fe135eb9 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/get-wraps-from-cargo-registry.py @@ -166,10 +166,13 @@ def update_subproject(self, wrap_file: str, source_na= mever: str) -> None: orig_dir =3D section["directory"] =20 if self.dry_run: - if orig_dir =3D=3D source_namever: - print(f"Will install {orig_dir} from registry.") - else: + if orig_dir !=3D source_namever: print(f"Will replace {orig_dir} with {source_namever}.") + elif not os.path.exists(orig_dir) or self.cargo_registry: + print(f"Will install {orig_dir} from {self.source.origin}.= ") + else: + print(f"Will update {orig_dir} from cache.") + return self.changes +=3D 1 return =20 @@ -181,10 +184,19 @@ def update_subproject(self, wrap_file: str, source_na= mever: str) -> None: with open(wrap_file, "w") as f: config.write(f) =20 - if orig_dir =3D=3D source_namever: + if orig_dir !=3D source_namever: + print(f"=F0=9F=91=89 Replacing {orig_dir} with {source_namever= }.") + elif not os.path.exists(orig_dir) or self.cargo_registry: print(f"=F0=9F=91=89 Installing {orig_dir} from {self.source.o= rigin}.") else: - print(f"=F0=9F=91=89 Replacing {orig_dir} with {source_namever= }.") + print(f"=F0=9F=91=89 Updating {orig_dir} from cache.") + subprocess.run( + ["meson", "subprojects", "update", "--reset", wrap_name], + cwd=3Dself.top_srcdir, + env=3Denv, + check=3DTrue, + ) + return =20 subprocess.run( ["meson", "subprojects", "download", wrap_name], --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840139; cv=none; d=zohomail.com; s=zohoarc; b=emo8u6zEU62A3QsXhmyfQ4EmnpiSMSeurJSdG0M9de3zwy9d02DttvOXNn7Qr6C7TnQ2lu8/ohZ1BfCmRQQxjPWL0eLkzvashHVRJhyjzVHjQxXRvEiTQUJd+lDxhYiT/8uWFaKAPaNH6r7IQ5UTPBy8aNvR0arfLm4QDrRUUN8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840139; h=Content-Transfer-Encoding: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:Cc; bh=M/O6x+kgw6s99eEjinNaj/p2rgga36nR4TA3pRTnHMs=; b=chkQKEk3V+4iTVab3+nCkS8CHGGDsydG87qQOpRFhwL1++m9T1rlOBgeGSu7gayNbQzvmt0P4FUuIuMv8Kpm6kQKXaUzHYK80bv78Krtzmmj/1FoIe+YXVJ4Jf4WXpe13QZNO91xwFF2w0VJIX4ytekJQkZJXPpYdcpmHaQrKFE= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840139063235.54805294267408; Thu, 27 Aug 2026 07:15:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarh-0002gw-8w; Thu, 27 Aug 2026 10:14:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarg-0002gS-2Z for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:00 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarV-0005k2-NO for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:13:56 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-365-AWMbcodzPZiOuii7elywjA-1; Thu, 27 Aug 2026 10:13:45 -0400 Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-6a5d7e3ac13so653363a12.3 for ; Thu, 27 Aug 2026 07:13:45 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6a5deaa786csm6533587a12.20.2026.08.27.07.13.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=M/O6x+kgw6s99eEjinNaj/p2rgga36nR4TA3pRTnHMs=; b=O21+amT9xqmgS0V1cwZwbGXL4VntO0oMsyBC7s02PxhjxNF7RPDpwoK1iRcjnG6EPDabsm j25UHXozreDoEe44C+7s1ADhSTrXikOm7gXVSpa+hEaYiawrRESk8R0olfaMEmg4Qk5yFc FtQMhIXnvRGUl/DnIw6NDQbtDNpOFwU= X-MC-Unique: AWMbcodzPZiOuii7elywjA-1 X-Mimecast-MFC-AGG-ID: AWMbcodzPZiOuii7elywjA_1787840024 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840024; x=1788444824; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=M/O6x+kgw6s99eEjinNaj/p2rgga36nR4TA3pRTnHMs=; b=RGhLLyIo8+DSC1cftE2TMQCV3t0Cy+qqlJuzBb0KaA5mZIJhfB91Yr159KKjbk/8Mc 5wQbQBKmQMTGRYyTBfXYEFM3LGHwQiffEfK+3/0xij2uBDNJ8a2qY0JJjUEfNcrGNvQZ z3hZvDz3sbnWKsVC7AhhRD6aJ4kAaSbKSg3tz5ASOqagJAD6rFNtwECatrkerH9B/6rx c8lpEsUl+4CiF66UNbc2onjjd6MnGBcRCYYkUOQGTK7sr+VyppRV7mTikdbU+GmhPvWt vltrOyEAemi17k6CKRyvK9JB/vnqWK15GlG9moTFP/tayeA0Q+otrYyGEU3bvhUI+1yW G3+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840024; x=1788444824; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=M/O6x+kgw6s99eEjinNaj/p2rgga36nR4TA3pRTnHMs=; b=az1Z0ysqwXvI6cUMN6N+0BVA62CaGBXbnljNeUW0U75RI5d3zC3GcjLIwZNobq8sjL Qqq70kMPl0Go8XbY+pW2+QvwYY0vwrV6CKVgZCHgLTuaKWAsQR3NuA7PFPCwvHLk5AIg 2k0jZTThfhUPeyuK2TWWos4fK0U/Z3+AtGQbhCjC2o+cIzlyuarUXAD6pMMDZvBTDcOT DCXnf63GA+1wF3iYiVfSoLY0sWOcW9dCCNZGQ5wyacyqZv+2yLolQ8/OSFCLmcKfGFP0 G4zE9JjxpMwp1dptmeB9RxIMNVJFp7b/clvPM5U72G+a48tLCTy8iJ1S6Sh9AGZY6cb2 uITg== X-Gm-Message-State: AFuF++kxWKX0ZwqasJpBsDuOlutfiZ9h9pwfQwa1+2aKEGz0F2oPnuAr PV/kHQrARn4+twYO1k2aYwNLg7fiz6O+rwq8oMJAgYW62NcFP8sGnLgS77P9yB7GZ6SL0mPdemS QkPKFTBvCrnHNAYrhmGgc/WvO4GplNoPQ1/lZpJY2YdQuvpMdqpyk91Ls164u+k0ENzTVvl9eem PImg8Y8/XqBF9SqAAfU3dBqWVzEKCrup2sMyeREjC3 X-Gm-Gg: AR+sD12YR0acBwGQdi2yTIYUE2iacJ+W5S7b1+bgHV1GUX4ySEAbQlI1O9Mty3RwBPC 2yV+Leb6/DOQPPXhpCXqKnLMnMAcIJyJsMGiwWkCtNEyqHnmQTa08aY9IfHDKxLhwztcyRWVjUr pcNdFXM6jBU3fnrl74ka5w5VLYfyNLHJGyjhQwuuBlwONhxHyKh7nUAqiIDCBIDFGemz3d/eqLY APq0KRLWIGEUC+CgilqLe+CeViEcD+izLTGw7N+sxnrJzmjun5hImmZDu6u5ZC0tHfqA9T2S87+ xYJIRd2U4Dm9zc/UvnWEM12P6PjduTYy/Gx3IiC24w42PJwTWFlRnlUtwVWxuH3gcZBd7U0lQMj Z/u04NtbwmD2PzeC5Wml5RY8WacTd28se7L4nW04mkZ/sDs4EBxxXLjlRE/OJPBVxjoBHYY1OuN /zxqw= X-Received: by 2002:a05:6402:1912:b0:6a3:ee5c:8800 with SMTP id 4fb4d7f45d1cf-6a5df61fe9cmr18595180a12.8.1787840024053; Thu, 27 Aug 2026 07:13:44 -0700 (PDT) X-Received: by 2002:a05:6402:1912:b0:6a3:ee5c:8800 with SMTP id 4fb4d7f45d1cf-6a5df61fe9cmr18595113a12.8.1787840023542; Thu, 27 Aug 2026 07:13:43 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 09/23] scripts: rename get-wraps-from-cargo-registry.py Date: Thu, 27 Aug 2026 16:12:57 +0200 Message-ID: <20260827141314.1099352-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840141466158500 Content-Type: text/plain; charset="utf-8" It does more than that now. Signed-off-by: Paolo Bonzini --- MAINTAINERS | 2 +- docs/about/build-platforms.rst | 2 +- .../{get-wraps-from-cargo-registry.py =3D> update-cargo-wraps.py} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename scripts/{get-wraps-from-cargo-registry.py =3D> update-cargo-wraps.p= y} (99%) diff --git a/MAINTAINERS b/MAINTAINERS index ac8e73bb24f..a8d7566e06a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3764,7 +3764,7 @@ F: rust/rustfmt.toml F: rust/system/ F: rust/tests/ F: rust/util/ -F: scripts/get-wraps-from-cargo-registry.py +F: scripts/update-cargo-wraps.py =20 Rust-related patches CC here L: qemu-rust@nongnu.org diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst index 3d23dfbd779..676f6901acc 100644 --- a/docs/about/build-platforms.rst +++ b/docs/about/build-platforms.rst @@ -128,7 +128,7 @@ Rust build dependencies =20 Some distros prefer to avoid vendored crate sources, and instead use local sources from e.g. ``/usr/share/cargo/registry``. QEMU includes a - script, ``scripts/get-wraps-from-cargo-registry.py``, that automatically + script, ``scripts/update-cargo-wraps.py``, that automatically performs this task. The script is meant to be invoked after unpacking the QEMU tarball. QEMU also includes ``rust/Cargo.toml`` and ``rust/Cargo.lock`` files that can be used to compute QEMU's build diff --git a/scripts/get-wraps-from-cargo-registry.py b/scripts/update-carg= o-wraps.py similarity index 99% rename from scripts/get-wraps-from-cargo-registry.py rename to scripts/update-cargo-wraps.py index a26fe135eb9..b66a60ebad8 100755 --- a/scripts/get-wraps-from-cargo-registry.py +++ b/scripts/update-cargo-wraps.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later =20 """ -get-wraps-from-cargo-registry.py - Update Meson subprojects from a Cargo +update-cargo-wraps.py - Update Meson subprojects from a Cargo registry or from the versions pinned in Cargo.lock. """ =20 --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840202; cv=none; d=zohomail.com; s=zohoarc; b=HG5tk19x3OVwCSVjxsaf/dCv3jLstznEiUVKzb22v7EFgHPduOUA2SMsK92N+HU/BsXeF4QJFMnt5tPLHUmRJdmmidl3auQyA/SVCoiazWlgnc9Be2xPwsLnf/m9AuWTO7Wyp/iGlelF4Pu/EbiSD63lXswIcdQRDIzdGmSDZDY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840202; h=Content-Transfer-Encoding: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:Cc; bh=99cZ5tVTjyBymgcP53o3x4GZb3D8a2MNktH0qYZ5XM0=; b=Pqv8JF6S5o4+YRaRhmstDcircZ7iTp6invhVE7guLnUcZ4ZPEz9pFnx4b8XgnN5DxJ2jI9g/EXkp5S0Du6ca+KgyO2YkJ1khsZ2cN4IMpMA9PWKt4vwE2JUBTBTbq2+6YUor1x5EZlJoEz8IkJA+9A8QrXyAsOH5v3aaE1psf/s= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840202689147.1228578927146; Thu, 27 Aug 2026 07:16:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzari-0002hT-7f; Thu, 27 Aug 2026 10:14:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarg-0002gc-MQ for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:00 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarX-0005kl-So for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:00 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-558-qRHxTCSEMi221xF6ZzTN7g-1; Thu, 27 Aug 2026 10:13:49 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-495474a5fbcso19557175e9.1 for ; Thu, 27 Aug 2026 07:13:47 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dd5721a0sm74417595e9.4.2026.08.27.07.13.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=99cZ5tVTjyBymgcP53o3x4GZb3D8a2MNktH0qYZ5XM0=; b=AXsvn192E/bT5tGA5A+rZRri6wZeb7iRWn1HRd6hIYUyG13xT92Cvh37snuGRINbI9N9Mm NPiH5Lr18NVrJCTNyRWHesMZwWyevCyCQ35f6oCFoFppTcxW/5d3Za2Ydth/0rBTsMmOWz TgLk9RnVB+yZmvlyiP0IdYVtfk/NmmE= X-MC-Unique: qRHxTCSEMi221xF6ZzTN7g-1 X-Mimecast-MFC-AGG-ID: qRHxTCSEMi221xF6ZzTN7g_1787840027 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840027; x=1788444827; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=99cZ5tVTjyBymgcP53o3x4GZb3D8a2MNktH0qYZ5XM0=; b=YQxnuiDuv9lnTKMV7fB9PAiSbQQHkfwV0WY7tzaqe8mULZyk6JZ+1K13llu89gsLhv 6Wt3yFpH/N96ZaE8FOH4jPxKybW1WdDw7kIgchD9Q3KCwd+xdoGttzE3zMH1W7GlbX7e WZzGcjYmZhCfIRs++jxBYrmNNyH5ymH7YXzz18vbeGI0Rfb/sXUM3PuVQ5YUqRA3eNux MOkm6aVx5s99s/pqB+qkovgpRR6TIJN+OClXKi5oNpsxQ0OrMCVZk1rbFgljv6S7n0to PYQugSZoinaJfaWn8YmWABQyDSyBZly1GL8AMyuNWTsZd2v7vCbNz87ydiDQ2AkW8BUR goNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840027; x=1788444827; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=99cZ5tVTjyBymgcP53o3x4GZb3D8a2MNktH0qYZ5XM0=; b=VKXpjjn0P3JPjBOmacO90WSIw+3WeirjWZ3GkVVGIaMX22ZIMmP42BBgU/MTyuvrew rsCUcjNZWvU+SfpSm9YkgVKhwOjqsEqr8y3c1qisr1lgivAL/gZQHur7/jz9R/c4/svZ 9rJqWkZ3xO1PI3lMPoNRTMKoQmHLNk7ylu9eBmwhZFMxogs6Z5yTGQXR159tkrKJ/Mc/ Vpj7jR8VVAh4hHkkDGtOLLPZipDGjNpfeZBkfDb/UUHBe+mTW7HkV+osnherIk9LctvT AcdmrIcGcfdn/Zphydd9n6K7QyHTu5v/dmhC1sgVPsjvvHFcckpvgfzd1Lkd4tT/mSYA f+yQ== X-Gm-Message-State: AFuF++lOO40RWOplyw7uuRb6clts0s41izFfui4KMiPaQHYnhoB3bUDo eQQPzJqa2MQbAPoCy0k8u9Rkrp1+MXbN3cYGTbUI+BY+OrSBGSyRq5heRjTI451q8+0z4MBrVyf 9DOUPszxobIUD2U3rLY84E2wmRepF11GzCxaSvrxWgDvE9cpS9eoOrDUUptmqHyhSasSnPxznsl 9e+QVF0LTZOk8fsOioncDVAnLVD9Caoyu4tneKBtdQ X-Gm-Gg: AR+sD12d/jt+rFg00r5V19AL17ptWYukJzYaLAxIGEz4a/y31csD/Tr1Zz2hyJLkXQq iyCSx7GdwnaGC754F5AywG79VsW8dYGN81cogxTbYWiFqrWS+hduGtVhlToiFO6Xnl38K4lzTeI oeqBLz9pZHmxRBGM+h9EO8l4WwC7ikLuJ+41yJAHY72egWkX7OQIeQuSOfa0Zk4peAoCErUykkp u+WQcxMt5H7lK5RlxyyYvw6Tcjh8D4fmiPqLtn+SHRMUBvD3krYusw59og6gXlKyb/+ZyKk82UL G+0jsK55yJohjgfWFJSm5sfJDsJ5pOVjuJZCgJFQg66Fu9pGX+pHjBgprxxPeeXn7V4A7jkczJq mczbThL3J2cppmA1uTxUqoKcSqxNjVmMpWvu5PjFWgSDerD77MfACSi51HuObVmKsC8LMD1ODft Y9tY4= X-Received: by 2002:a05:600c:4f55:b0:499:78b3:7b36 with SMTP id 5b1f17b1804b1-499dc720beamr196258995e9.11.1787840026754; Thu, 27 Aug 2026 07:13:46 -0700 (PDT) X-Received: by 2002:a05:600c:4f55:b0:499:78b3:7b36 with SMTP id 5b1f17b1804b1-499dc720beamr196257485e9.11.1787840026056; Thu, 27 Aug 2026 07:13:46 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 10/23] rust: update crates Date: Thu, 27 Aug 2026 16:12:58 +0200 Message-ID: <20260827141314.1099352-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840204081158500 Content-Type: text/plain; charset="utf-8" Until a new version of bitfield-struct is released, skip the ones that introduce a new dependency on syn 3. Signed-off-by: Paolo Bonzini --- Cargo.lock | 60 ++++++++++++------- Cargo.toml | 2 +- subprojects/attrs-0.2-rs.wrap | 9 +-- subprojects/foreign-0.3-rs.wrap | 6 -- subprojects/foreign-0.4-rs.wrap | 7 +++ subprojects/libc-0.2-rs.wrap | 10 ++-- .../foreign-0.4-rs/meson/meson.build | 3 + .../libc-0.2-rs/meson/meson.build | 20 ++----- subprojects/quote-1-rs.wrap | 10 ++-- subprojects/unicode-ident-1-rs.wrap | 10 ++-- 10 files changed, 70 insertions(+), 67 deletions(-) delete mode 100644 subprojects/foreign-0.3-rs.wrap create mode 100644 subprojects/foreign-0.4-rs.wrap create mode 100644 subprojects/packagefiles/foreign-0.4-rs/meson/meson.bui= ld diff --git a/Cargo.lock b/Cargo.lock index ad664a812d2..0dd16cdb68a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,9 +10,9 @@ checksum =3D "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e8= 5f964c2404b969bdcd487" =20 [[package]] name =3D "attrs" -version =3D "0.2.9" +version =3D "0.2.10" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "2a207d40f43de65285f3de0509bb6cb16bc46098864fce957122bbacce32= 7e5f" +checksum =3D "60e397c905850173fdc02285fe7f94f1b0c3ff55ff6e103efbe98074d806= 01c4" dependencies =3D [ "proc-macro2", "syn", @@ -46,9 +46,9 @@ dependencies =3D [ =20 [[package]] name =3D "cfg-expr" -version =3D "0.20.3" +version =3D "0.20.8" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "1a2c5f3bf25ec225351aa1c8e230d04d880d3bd89dea133537dafad4ae29= 1e5c" +checksum =3D "fb693542bcafa528e198be0ebd9d3632ca5b7c93dbe7237460e199910835= 997c" dependencies =3D [ "smallvec", "target-lexicon", @@ -93,11 +93,12 @@ checksum =3D "877a4ace8713b0bcf2a4e7eec82529c029f1d0619= 886d18145fea96c3ffe5c0f" =20 [[package]] name =3D "foreign" -version =3D "0.3.1" +version =3D "0.4.0" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "17ca1b5be8c9d320daf386f1809c7acc0cb09accbae795c2001953fa5058= 5846" +checksum =3D "2292704c239c26962ac5c32d53057c442ca5a2bf017fca5c95c342271058= e4c2" dependencies =3D [ "libc", + "rustc_version", ] =20 [[package]] @@ -175,9 +176,9 @@ dependencies =3D [ =20 [[package]] name =3D "libc" -version =3D "0.2.162" +version =3D "0.2.189" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef0150= 6398" +checksum =3D "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee728676= 12f2" =20 [[package]] name =3D "migration" @@ -202,9 +203,9 @@ dependencies =3D [ =20 [[package]] name =3D "pkg-config" -version =3D "0.3.32" +version =3D "0.3.34" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b= 904c" +checksum =3D "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f1180= 0548" =20 [[package]] name =3D "pl011" @@ -272,13 +273,28 @@ dependencies =3D [ =20 [[package]] name =3D "quote" -version =3D "1.0.36" +version =3D "1.0.47" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208ac= aca7" +checksum =3D "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd07= 9001" dependencies =3D [ "proc-macro2", ] =20 +[[package]] +name =3D "rustc_version" +version =3D "0.4.1" +source =3D "registry+https://github.com/rust-lang/crates.io-index" +checksum =3D "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e= 9b92" +dependencies =3D [ + "semver", +] + +[[package]] +name =3D "semver" +version =3D "1.0.28" +source =3D "registry+https://github.com/rust-lang/crates.io-index" +checksum =3D "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae= 51cd" + [[package]] name =3D "serde_core" version =3D "1.0.228" @@ -366,9 +382,9 @@ dependencies =3D [ =20 [[package]] name =3D "target-lexicon" -version =3D "0.13.2" +version =3D "0.13.5" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5= a69a" +checksum =3D "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5= a6ca" =20 [[package]] name =3D "tests" @@ -386,9 +402,9 @@ dependencies =3D [ =20 [[package]] name =3D "toml" -version =3D "1.1.3+spec-1.1.0" +version =3D "1.1.4+spec-1.1.0" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "53c96ecdfa941c8fc4fcaed14f99ada8ebed502eef533015095a07e3301d= 4c3c" +checksum =3D "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f670= 56f5" dependencies =3D [ "indexmap", "serde_core", @@ -410,9 +426,9 @@ dependencies =3D [ =20 [[package]] name =3D "toml_parser" -version =3D "1.1.2+spec-1.1.0" +version =3D "1.1.3+spec-1.1.0" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb= 7526" +checksum =3D "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc= 4d56" dependencies =3D [ "winnow", ] @@ -433,9 +449,9 @@ dependencies =3D [ =20 [[package]] name =3D "unicode-ident" -version =3D "1.0.12" +version =3D "1.0.24" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0f= ee4b" +checksum =3D "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247= da75" =20 [[package]] name =3D "util" @@ -458,9 +474,9 @@ dependencies =3D [ =20 [[package]] name =3D "version-compare" -version =3D "0.2.0" +version =3D "0.2.1" source =3D "registry+https://github.com/rust-lang/crates.io-index" -checksum =3D "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411= c98b" +checksum =3D "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8e= df0e" =20 [[package]] name =3D "winnow" diff --git a/Cargo.toml b/Cargo.toml index b35704faabe..397a64ea99b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ authors =3D ["The QEMU Project Developers "] =20 [workspace.dependencies] anyhow =3D "~1.0" -foreign =3D "~0.3.1" +foreign =3D "~0.4.0" libc =3D "0.2.162" glib-sys =3D { version =3D "0.21.2", features =3D ["v2_66"] } =20 diff --git a/subprojects/attrs-0.2-rs.wrap b/subprojects/attrs-0.2-rs.wrap index fef89ea9368..fdab9646207 100644 --- a/subprojects/attrs-0.2-rs.wrap +++ b/subprojects/attrs-0.2-rs.wrap @@ -1,6 +1,7 @@ [wrap-file] -directory =3D attrs-0.2.9 -source_url =3D https://crates.io/api/v1/crates/attrs/0.2.9/download -source_filename =3D attrs-0.2.9.tar.gz -source_hash =3D 2a207d40f43de65285f3de0509bb6cb16bc46098864fce957122bbacce= 327e5f +directory =3D attrs-0.2.10 +source_url =3D https://crates.io/api/v1/crates/attrs/0.2.10/download +source_filename =3D attrs-0.2.10.tar.gz +source_hash =3D 60e397c905850173fdc02285fe7f94f1b0c3ff55ff6e103efbe98074d8= 0601c4 method =3D cargo + diff --git a/subprojects/foreign-0.3-rs.wrap b/subprojects/foreign-0.3-rs.w= rap deleted file mode 100644 index 95d450397ee..00000000000 --- a/subprojects/foreign-0.3-rs.wrap +++ /dev/null @@ -1,6 +0,0 @@ -[wrap-file] -directory =3D foreign-0.3.1 -source_url =3D https://crates.io/api/v1/crates/foreign/0.3.1/download -source_filename =3D foreign-0.3.1.tar.gz -source_hash =3D 17ca1b5be8c9d320daf386f1809c7acc0cb09accbae795c2001953fa50= 585846 -method =3D cargo diff --git a/subprojects/foreign-0.4-rs.wrap b/subprojects/foreign-0.4-rs.w= rap new file mode 100644 index 00000000000..9aa70acd6ad --- /dev/null +++ b/subprojects/foreign-0.4-rs.wrap @@ -0,0 +1,7 @@ +[wrap-file] +directory =3D foreign-0.4.0 +source_url =3D https://crates.io/api/v1/crates/foreign/0.4.0/download +source_filename =3D foreign-0.4.0.tar.gz +source_hash =3D 2292704c239c26962ac5c32d53057c442ca5a2bf017fca5c95c3422710= 58e4c2 +method =3D cargo + diff --git a/subprojects/libc-0.2-rs.wrap b/subprojects/libc-0.2-rs.wrap index 6e225579795..2bdb7c1750b 100644 --- a/subprojects/libc-0.2-rs.wrap +++ b/subprojects/libc-0.2-rs.wrap @@ -1,10 +1,8 @@ [wrap-file] -directory =3D libc-0.2.162 -source_url =3D https://crates.io/api/v1/crates/libc/0.2.162/download -source_filename =3D libc-0.2.162.tar.gz -source_hash =3D 18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01= 506398 +directory =3D libc-0.2.189 +source_url =3D https://crates.io/api/v1/crates/libc/0.2.189/download +source_filename =3D libc-0.2.189.tar.gz +source_hash =3D 3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee7286= 7612f2 method =3D cargo patch_directory =3D libc-0.2-rs =20 -# bump this version number on every change to meson.build or the patches: -# v1 diff --git a/subprojects/packagefiles/foreign-0.4-rs/meson/meson.build b/su= bprojects/packagefiles/foreign-0.4-rs/meson/meson.build new file mode 100644 index 00000000000..fc048fd32c2 --- /dev/null +++ b/subprojects/packagefiles/foreign-0.4-rs/meson/meson.build @@ -0,0 +1,3 @@ +if rustc.version().version_compare('>=3D1.78.0') + extra_args +=3D [ '--cfg', 'has_diagnostic_namespace' ] +endif diff --git a/subprojects/packagefiles/libc-0.2-rs/meson/meson.build b/subpr= ojects/packagefiles/libc-0.2-rs/meson/meson.build index db9480ada1c..ba770a697f8 100644 --- a/subprojects/packagefiles/libc-0.2-rs/meson/meson.build +++ b/subprojects/packagefiles/libc-0.2-rs/meson/meson.build @@ -1,16 +1,4 @@ -extra_args +=3D [ - '--cfg', 'freebsd11', - '--cfg', 'libc_priv_mod_use', - '--cfg', 'libc_union', - '--cfg', 'libc_const_size_of', - '--cfg', 'libc_align', - '--cfg', 'libc_int128', - '--cfg', 'libc_core_cvoid', - '--cfg', 'libc_packedN', - '--cfg', 'libc_cfg_target_vendor', - '--cfg', 'libc_non_exhaustive', - '--cfg', 'libc_long_array', - '--cfg', 'libc_ptr_addr_of', - '--cfg', 'libc_underscore_const_names', - '--cfg', 'libc_const_extern_fn', -] +extra_args +=3D ['--cfg', 'freebsd12'] + +# TODO: linux_time_bits64, file_offset_bits64, gnu_time_bits64 are still u= nstable for glibc +# as of libc 0.2.189 diff --git a/subprojects/quote-1-rs.wrap b/subprojects/quote-1-rs.wrap index 5f38f56499e..c6360ceab43 100644 --- a/subprojects/quote-1-rs.wrap +++ b/subprojects/quote-1-rs.wrap @@ -1,9 +1,7 @@ [wrap-file] -directory =3D quote-1.0.36 -source_url =3D https://crates.io/api/v1/crates/quote/1.0.36/download -source_filename =3D quote-1.0.36.0.tar.gz -source_hash =3D 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208= acaca7 +directory =3D quote-1.0.47 +source_url =3D https://crates.io/api/v1/crates/quote/1.0.47/download +source_filename =3D quote-1.0.47.tar.gz +source_hash =3D 1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd= 079001 method =3D cargo =20 -# bump this version number on every change to meson.build or the patches: -# v2 diff --git a/subprojects/unicode-ident-1-rs.wrap b/subprojects/unicode-iden= t-1-rs.wrap index 90aae02ba0a..2563f101d40 100644 --- a/subprojects/unicode-ident-1-rs.wrap +++ b/subprojects/unicode-ident-1-rs.wrap @@ -1,9 +1,7 @@ [wrap-file] -directory =3D unicode-ident-1.0.12 -source_url =3D https://crates.io/api/v1/crates/unicode-ident/1.0.12/downlo= ad -source_filename =3D unicode-ident-1.0.12.tar.gz -source_hash =3D 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec= 0fee4b +directory =3D unicode-ident-1.0.24 +source_url =3D https://crates.io/api/v1/crates/unicode-ident/1.0.24/downlo= ad +source_filename =3D unicode-ident-1.0.24.tar.gz +source_hash =3D e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf382= 47da75 method =3D cargo =20 -# bump this version number on every change to meson.build or the patches: -# v2 --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840152; cv=none; d=zohomail.com; s=zohoarc; b=UgWilUwSYbdDWS1IcM22igvNLv5nOKWWoS147e9lDU+Fv19myWAsqluLg+pLKmCnRj2/eXZ8hs7xjqex5zHdLI6mKV4gg665ElwQjY2+ob56GoqvJkwQvLbZg0ZuNHQ5swvkcaloQph5sgkO1wnpklIG3iXmtKdpxx0DpWFVRQs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840152; h=Content-Transfer-Encoding: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:Cc; bh=b5m3PCBo4qZ8ZChzlOr1MQQV5+IdqKQ4NKkucVjzKRs=; b=Ac+RIy/a3S2zshLkolzBGMRpveugqrNOHl4a0BkNLDcZEtmUYNcHbnoXFUQ9Kscxs0FMDebhFXBlQR8lUlOpPdX+FtRfIrcieoAuAKEzk9n1OSE3Er/CYuFJGxiA+xLHLfnAWQ/B8oMPCGAhhH817u/tkcXx7em3+XZ0Q8pAAZI= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840152084788.1042477054618; Thu, 27 Aug 2026 07:15:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarh-0002hD-NS; Thu, 27 Aug 2026 10:14:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarg-0002gb-Lz for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:00 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarY-0005l8-V4 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:00 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-617-ZYwWhEsvPZSnpwJ5WvV8yg-1; Thu, 27 Aug 2026 10:13:50 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-49b0e6638e3so5624455e9.2 for ; Thu, 27 Aug 2026 07:13:50 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dd55283esm54934805e9.2.2026.08.27.07.13.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=b5m3PCBo4qZ8ZChzlOr1MQQV5+IdqKQ4NKkucVjzKRs=; b=alHCZYyDLREdoeTKtRYUMBe1+mJ0hE3S2nd9uyjyw0wiGGjfnuS2fEqhiCCyrglgE1PpZJ UYeToYRwATsx8hv3TiXc2FBxsYg+mEfRes1vZ3As9UmNYjfg60j7I8JQL/IoDdCUoBcWDK IqZMiFC24eNcWazNHKvCG36U49uPYQg= X-MC-Unique: ZYwWhEsvPZSnpwJ5WvV8yg-1 X-Mimecast-MFC-AGG-ID: ZYwWhEsvPZSnpwJ5WvV8yg_1787840029 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840029; x=1788444829; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=b5m3PCBo4qZ8ZChzlOr1MQQV5+IdqKQ4NKkucVjzKRs=; b=Dr/uUL8sWgQ5IQoGwvhHGTsf9NrLbeOdQafkDVxRHA/a1qGZPUTJTgHQlPkgAj+QIJ NsY/2bomNBa1/uCSE/lkbs3MUw5xSKKSKBHm1d5kHMytXoYmXSGkcAVACQbETkG6FAIP c2v4VTo8gJ4o6p8Tq/zut8GyDpn2+L6l9iFdMbJ7N+qcOQsSwXEApHjfakz3O4jnwmEw Iq1ROzkI6rQ2EIywMfaNqPCPf0PXDMihEytEVuDa0CxtzZFj+Ax+OGv+K1XPrxI9LMl0 zsi3Rs4hbpzLSPL0bc0z9mZoulHc/l8LMpn3uwrbc79vevQon1XuhKHDZ38X4N1EiQSC 3Xmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840029; x=1788444829; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=b5m3PCBo4qZ8ZChzlOr1MQQV5+IdqKQ4NKkucVjzKRs=; b=TUqsSr52esxp4So9+89oyB4Cxx0PVfNTbTnSiy/IjTFIGcYl4L6IcUBGoxf4Ot4vRD E2qGI1RfUoK/vR6cifp7JejoTwuIMC9G/voPSDAWXMa7IisVlMRgHQ1JXT+LsrEzorcT jkGl1moxIwiVTaW79ncs15MD7lLNJPoXAJo55YnsoKSJhaq3L3EG+fvOkLds4CVPBVhq 9wvx0cONJdZSrTU/j3xN5mH+b5L/SJl2vYbKT+DB7DQqNyNUI4W3Pkidk/NqNdCMIGBH 3oPIVGAYgKaFiIxCm9M9/AQHGz35j2Ya4iFB9R7J+B7jRk2dVNyqzzPZaHdYP4HIbRa2 BqWg== X-Gm-Message-State: AFuF++mz2ELZwd8j1RqV5jhbcmFts2FGGELgDtSIP85Btn2lrcIxJsX+ q6ezgk4LakURJ+zY6sGlTzkrXWOJw9ncYl8Mpa4BC9Cj80uxxwMEsCvl4Xh+gQ/V8pigimX26cy wtFmN8zHfiPaR5KyKV9rWSnUAN5lNV6ST61Qid3ZpoKkzqW2xbBRU1vsQXSqq8ixVtuEXDbXe9w HuGARrHzCBZ/5m8mmOGwKMNhowdc8Onm0nBVUGQrS5 X-Gm-Gg: AR+sD11XBqQ3w1qexDXHb/RU4w6E1mS3LlTxmo3JWimJW5TjF/ggwN3XDWgyCJcT2Ib N4VeHHB3tTGGXiNHVUDMMiDILnbhaP3B9zMhXmLmAf4BseSljOshgdOlxSmDc4Wd5PWIIob02Sc U6LTyu5CQoGPYdXAOyE+fYIbEEv4oCpNYUU2SChqql89MOgmP6fzPINoj+XDAZFvAZCb6l/0JQW fPxfSIluNSZeINGR9Q10qqoaK+C5hipE3uALcGH0mDhjJ9pCFO7IjX+k/8xUmROOqrmm287UEUK qPgI08moeM55aE7SLmjfK90ckxHBk9f2Z1RlxD/WbtjZ+Fv081qo7NkcFoK89oqky6UWUhNlfvH IN8MnKV+XV2eeH5tF6S2Urrkfdc7l4TsSH4BavyrHBQhCG4sNCHvNMpGvsu9gezUX8wWGZSfYGR +t51M= X-Received: by 2002:a05:600c:4e15:b0:49b:8e8f:a409 with SMTP id 5b1f17b1804b1-49b8e8fa4a6mr66882385e9.13.1787840029412; Thu, 27 Aug 2026 07:13:49 -0700 (PDT) X-Received: by 2002:a05:600c:4e15:b0:49b:8e8f:a409 with SMTP id 5b1f17b1804b1-49b8e8fa4a6mr66881185e9.13.1787840028890; Thu, 27 Aug 2026 07:13:48 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 11/23] rust: hpet: fix clippy needless_range_loop Date: Thu, 27 Aug 2026 16:12:59 +0200 Message-ID: <20260827141314.1099352-12-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840153560158500 Content-Type: text/plain; charset="utf-8" Nightly clippy is a bit smarter and recognizes one more loop that it wants to be written with iterators. Signed-off-by: Paolo Bonzini --- rust/hw/timer/hpet/src/device.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/devi= ce.rs index ec0bca4496d..89ba7a5c4d2 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -938,9 +938,7 @@ fn post_load(&self, _version_id: u8) -> Result<(), migr= ation::Infallible> { let mut regs =3D self.regs.borrow_mut(); let cnt =3D regs.counter; =20 - for index in 0..self.num_timers { - let tn_regs =3D &mut regs.tn_regs[index]; - + for tn_regs in regs.tn_regs.iter_mut().take(self.num_timers) { tn_regs.update_cmp64(cnt); tn_regs.last =3D CLOCK_VIRTUAL.get_ns() - NANOSECONDS_PER_SECO= ND; } --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840056; cv=none; d=zohomail.com; s=zohoarc; b=EmXwEGAWjkJopKw+XZ4yElr2wqyWCGDp32J+S4q8mXW/7Hj3RhrLyRz+/sQFeEYRcT1FI14uZ1v5wisK/lhaTzm/MBWUmrEAwbmr78v6WJ1gfeQBVyjOnPqox9FQFy7dIpw9Ejvu47C/h2gYiD1C0SUFIdQ6Xs2zyqWpa0VqYts= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840056; h=Content-Transfer-Encoding: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:Cc; bh=efH+CJ6lSj9Pg1zbktMwmOBeFLxVyCzz6CdqwEfipkE=; b=O/+iu/wwGhjZyoYmGlJ7Hq6yUN9Y2rkpp2FGglOYixlE4wQLaSx5BqjPIEJnGhQjNs0HojPDzUqZNpOM8UmSi6xjzsCE4bYJKhLc0GPQeuX2SQWwT7SDxHK666lzY3Ns5g6r3gU8QaaciRzLdVIuG5pdfAr2lAQAAtUzgMe8pLg= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840056742481.74050968100914; Thu, 27 Aug 2026 07:14:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzark-0002hv-Sw; Thu, 27 Aug 2026 10:14:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarj-0002hj-TO for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:03 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarf-0005mr-Um for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:03 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-663-nX9r4fH4M_uCs5PPrJFmpg-1; Thu, 27 Aug 2026 10:13:53 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4994d67d0e3so14158765e9.2 for ; Thu, 27 Aug 2026 07:13:53 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b0d263dd5sm45626505e9.1.2026.08.27.07.13.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=efH+CJ6lSj9Pg1zbktMwmOBeFLxVyCzz6CdqwEfipkE=; b=IwLC7fWRM0doQkexDarBhQ38BCST6+xaXmRz7JlZm09FXrEmdiI+WVS0LTQ8AqpyA92QPS APlo2IFQkveRyQmPrqV7Mr+VRkUP9xIOOvU79Z77R9t4jGTF1XcJEQTmUNbJp56Orn6L78 bckedaksE3xMNbBTP3DK42kHPp8wYQw= X-MC-Unique: nX9r4fH4M_uCs5PPrJFmpg-1 X-Mimecast-MFC-AGG-ID: nX9r4fH4M_uCs5PPrJFmpg_1787840032 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840032; x=1788444832; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=efH+CJ6lSj9Pg1zbktMwmOBeFLxVyCzz6CdqwEfipkE=; b=sxdjBsLDZpU1p3BirPQBCaspc+ENA2OwfZdZVIUnD6wJaQ4XPGToHi8zkRGIX2CMXs h+pNf+gfzYwRf+vX7fNPzZRRGcBmdyjfz1N9Vcne9YC6MnyfwHP9u3l5HRgPlOUWKp8c TN5a4y5bkHPtgOgcdNbOYaMoB7p3JRcbX3Dq6Yvct2Hxrcm7q6HTOtRabd3CQ00IeFgT mp/VnG6KUC0dCaUPbIgwAbs4AHEaLUx3GDIF/Z+6HodssBvQy16u82QmS4XlVNHe4rtM NhIhcv018T3hkWlCDbe0ilLHRJrg08wmN324QRdKcpRGOqkNaq/W2GqH5R5Md/9Ti6jU qsHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840032; x=1788444832; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=efH+CJ6lSj9Pg1zbktMwmOBeFLxVyCzz6CdqwEfipkE=; b=IVle0B/22Ou9oD6zpEzJ4c+mUmOFDhMHv0GMM10e9b/zqgaq2QFrR5CI0SlVfD3RPX 6s6p7RV35Vek0ShbrCR7qWbraKCbhdG0vwkAAqNuvbvhOtkBZq5hsCYEBA3WcUn4zRb8 lkpKDDH+5WR3VozTWb095A46wRfYokfsLIPtu/36Ud6ZbAJ8OWIZwk7IIl01+zJS4pWX 6CZuBbIRx5D0pQXbOQFnk0/TGAKQ5l6Fa8Bj3BUtJDmIsBxmiv9sf1vsCGw0Su9fJB9+ mSzyrOzr6dd/sgN33hc5VEUKcMKPipM7ereaI3v/bFKeOf+6Mkan3/WDwaRTGer6WjBq kz9w== X-Gm-Message-State: AFuF++nGX7XaJbB6rqC/jpY3aQKKN1+UnhI1NznFvxzSDLITlfsRHDXH 0Js6uf6FB4u1mXU+646HQSDqnZfDTNJLvh2pdZIFXSSxlITzsaWuUMfXFD83GQLl1DYYZHTUPqj 7M15pWtrewwwEgShCPsjirt6nMWkzv8n1say5J11LeEarteWV4Qr3KBnOUg/vx8owq4T3e3rV8h +QEjLIHOVp56qnfSjI5nJWs5MZz1JLqmqFt3YYPr2e X-Gm-Gg: AR+sD12FvzBNhqAIuYUjdcnwTK8PezyEq2t0Y0yzZjchRQd9WfUjruom3h+U/uxFalh BDMtTXUkopsjrFQNsO2TuNYFx301zyGpVIPNsulikA8YOcM3ykprU66ML1wNJI80+hk3DFIDo2h C4x8p7n/eAoPp7wo6TvyAWkfdAxDbuL3xPk7lUgAjyMnv6oG+TEoKS3QULqlzN82wjab5DYqKpQ 2+3qh2h4F8o2T72dzOmysQuGwMd4wKVgJ/D0aVCY/u0B3LyGuKp2C8OLEqmtDUp2fHjy1ukk5ai r9tOnsubICs3GJ0wg7UjjysFCKqL7yhBx1bT7UrzHyZeu/u2BgsQ3EOnqwry7cgHKpMGyvK8ajW FGgWd1zzFw5qN1K0RSN7oA2i1EBf3KQWlGL8w9jEqkOHP/zzLdV2RXj+236jFKh080iuDA3pJtW BnjEI= X-Received: by 2002:a05:600c:45c4:b0:499:8ae1:b900 with SMTP id 5b1f17b1804b1-499dc8230e3mr181462055e9.12.1787840032312; Thu, 27 Aug 2026 07:13:52 -0700 (PDT) X-Received: by 2002:a05:600c:45c4:b0:499:8ae1:b900 with SMTP id 5b1f17b1804b1-499dc8230e3mr181461325e9.12.1787840031901; Thu, 27 Aug 2026 07:13:51 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 12/23] scripts/feature_to_c: avoid SyntaxWarning Date: Thu, 27 Aug 2026 16:13:00 +0200 Message-ID: <20260827141314.1099352-13-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840059449158500 Content-Type: text/plain; charset="utf-8" The backslash must be escaped. Signed-off-by: Paolo Bonzini --- scripts/feature_to_c.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/feature_to_c.py b/scripts/feature_to_c.py index a52cd2e9ec6..4275b758172 100644 --- a/scripts/feature_to_c.py +++ b/scripts/feature_to_c.py @@ -25,7 +25,7 @@ def writeliteral(indent, bytes): elif c >=3D 32 and c < 127: sys.stdout.write(c.to_bytes(1, 'big').decode()) else: - sys.stdout.write(f'\{c:03o}') + sys.stdout.write(f'\\{c:03o}') =20 if quoted: sys.stdout.write('"') --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840097; cv=none; d=zohomail.com; s=zohoarc; b=YqexQYlqL/Pe3eWPVqbN0iQICP1tlPwM+4YYT2SrmZzySNkX9qYEM5wmfVhTxvEXBf0pdMQadAUXGtgOcxsxqnZzqY8YdIWidfxifOBi7eICu/f6BoYjbrXXztERiZxV7sd2RYF19AP33ff99tlQ0ixZ6tAZ48i3IbfXGjzPm8U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840097; 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=0E5fVFz6zV3sS1HX0vK91r7SG/PL2NnfhxsF2uS4Xsk=; b=ZnXlFyz5TSpEWKxF8ieHGPBK0rhPeSgYvojyXZHi+f13ZHHuyVA7j5v8vjUMAIemH1+s1+M+WeS2pDgY+qfj19bA3BE1YrUwXXvJjOonp6e4wH1rKXcDxhdC9bJ8H6NaRhAYT4XLwyt+NXv4p3LRerG696VkxpU+QvTlZFVardA= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840097911304.7520153021977; Thu, 27 Aug 2026 07:14:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzaru-0002j6-MI; Thu, 27 Aug 2026 10:14:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarn-0002iW-BM for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarg-0005o7-Q1 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:07 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-609-R3mhEER_NHKZn16iCjowfA-1; Thu, 27 Aug 2026 10:13:57 -0400 Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-c24ae1a510cso63955266b.3 for ; Thu, 27 Aug 2026 07:13:57 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2550ef8a3csm4855766b.20.2026.08.27.07.13.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0E5fVFz6zV3sS1HX0vK91r7SG/PL2NnfhxsF2uS4Xsk=; b=ZLTQSgO2No7d6M1ibZrwT8RBdvDJS5SiFwZHY5Dh2vVP7z4f21fBkkZBZKaHCnScCNKDPU nZ4xEvHNr2kciawo9wK5/N8A8Q3pD3STDEzDRiWJQzGPxYY1juNqstFYXDI7OTwHvpG6IC kIjjFP8oHl5whE7dhsa1G1nMkTfrGBQ= X-MC-Unique: R3mhEER_NHKZn16iCjowfA-1 X-Mimecast-MFC-AGG-ID: R3mhEER_NHKZn16iCjowfA_1787840036 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840036; x=1788444836; 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:content-type; bh=0E5fVFz6zV3sS1HX0vK91r7SG/PL2NnfhxsF2uS4Xsk=; b=roPCfNcV+1y+jZUdnzTC56jnK+4blRM+1PQ2YvHzlh0b/SvlpsM5UcpnHBE2pYdLUE gIm+PlMUQWisv/mkiNKzDK7Ygjxph+VFgyRhvh6jcwQ1exPxJsIFwpq4KSQNtyScfRdi q3dXFZe1qoXw//ovNqfPaKvIlR8YLpTXvL9WcQxUm6z6XPfdHAfKbOiQBdxYTGg47g9k vVCovr4c77ysnI1yghdjAY/tq2Mfqelnt/9sN+ttgLi5Zz2kYT7ULCkeL5wpQG9yxFIq idCnPPeN5CvkDVhKO1s6kmkf33zXIh9B32SqMYdbzo+0TAJYLFwx3DjYyRl+AIBeS6ue xNag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840036; x=1788444836; 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:content-type; bh=0E5fVFz6zV3sS1HX0vK91r7SG/PL2NnfhxsF2uS4Xsk=; b=KLhtSHIZ4ch2rZsFmzNsUkXkEcmniBdG4JWcM7uE8n3R6GYIdJFhtqQqwF+6LspvWp myEgL4Zrc6FzS9SCnl0ei4TJEZ+hXJttPKxh94c08sdfFYT6gDIMJ6FTfh4MvposbPVZ LmV3vIxztor5cutlbCQFuWYUG7eIhQrRYk8BDdxrsT+RmDRLiUpVHwWDVsxHnIgXtzSz NataXqLRHYx/u4nmWwq087zdpBPqKHEU1i0k55xO0PwPdKeSyxZkac2gDxwfzyHtXIl7 uOXPMMS3EiIRzsQNmlU8ZCnrxudLI8W4kSA2qNT3R7/ef5nFlanJsRMW1O/iRfcNiEJw 0w9g== X-Gm-Message-State: AFuF++m+Rl98S6EFFvO5ixb/L23+C6ACnrz4uJnAFLr5OLTo5DurOUKC cRgqgknFeUJyqoeVSk8M4UywsJ8QzXcddrbJpmmILcOOaHO3O7pvfY5u0G27GfTZlNbI0HsNu7c 8v2E6IEb1jeE7LVYonUvw1TfqeTJrtlAYmSTRfgWKnsKTqcfRQXCUkgUjeNzutp2QDLtTlZodSZ l1qv8CMFDAteiOR6+aS+bRbBwoJssIW2WPUXFFsfi+ X-Gm-Gg: AR+sD12IQcXBkPMjpxLdvjhcB28GUK8omzW+1TPaBMOkptjpNYpnDeyWV8zUvk6hTQC lZa4n+wCnf0FiP0lkUTMTyyzA7GMLLX04cbdZ10rl/60B+EJ37pp/Yag+7JOivJgO37n3KoqYgg eXkHi5qnyG29fvZqBEkows6zuAfx93O+K10o0r1aEUVC9h4NZULxZZe8GFlswVDRXMzaXc0Z+eJ 7T84Ib164vreHXju7lWybCVkcWMGODEp49IDMkr/6NyUJfHr+tshlMUDK1FRgIPxVBTIhrVgijc 8nWunxHeHvWYpZPrRZMLov98Mr2X6k49YxFOk86GqKsO8S+CsYfdeDeEWApA6/jEzxQr9VqcywQ zh/PBQ3pAVAcPbHIegqFLH5TzVo8VaozNicqdyV5O8WmJnkdfwr3T6tWNwHz2BNWZDkrSSRYIuC wKZso= X-Received: by 2002:a17:907:ea8b:b0:c20:3402:bd35 with SMTP id a640c23a62f3a-c250c330f70mr1501947366b.12.1787840035995; Thu, 27 Aug 2026 07:13:55 -0700 (PDT) X-Received: by 2002:a17:907:ea8b:b0:c20:3402:bd35 with SMTP id a640c23a62f3a-c250c330f70mr1501944266b.12.1787840035445; Thu, 27 Aug 2026 07:13:55 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Richard Henderson Subject: [PULL 13/23] target/i386/tcg: do not reuse cc_srcT Date: Thu, 27 Aug 2026 16:13:01 +0200 Message-ID: <20260827141314.1099352-14-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840099182158500 Content-Type: text/plain; charset="utf-8" Use a different temporary for every instruction that uses it in the translation block. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 6 ++++-- target/i386/tcg/emit.c.inc | 11 +++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 2115c5cd24b..d1791550772 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -342,7 +342,7 @@ static void set_cc_op_1(DisasContext *s, CCOp op, bool = dirty) tcg_gen_discard_tl(cpu_cc_src2); } if (dead & USES_CC_SRCT) { - tcg_gen_discard_tl(s->cc_srcT); + s->cc_srcT =3D NULL; } =20 if (dirty && s->cc_op =3D=3D CC_OP_DYNAMIC) { @@ -1236,6 +1236,7 @@ static void gen_lods(DisasContext *s, MemOp ot, TCGv = dshift) =20 static void gen_scas(DisasContext *s, MemOp ot, TCGv dshift) { + s->cc_srcT =3D tcg_temp_new(); gen_string_movl_A0_EDI(s); gen_op_ld_v(s, ot, s->T1, s->A0); tcg_gen_mov_tl(cpu_cc_src, s->T1); @@ -1248,6 +1249,7 @@ static void gen_scas(DisasContext *s, MemOp ot, TCGv = dshift) =20 static void gen_cmps(DisasContext *s, MemOp ot, TCGv dshift) { + s->cc_srcT =3D tcg_temp_new(); gen_string_movl_A0_EDI(s); gen_op_ld_v(s, ot, s->T1, s->A0); gen_string_movl_A0_ESI(s); @@ -3484,7 +3486,7 @@ static void i386_tr_init_disas_context(DisasContextBa= se *dcbase, CPUState *cpu) dc->T1 =3D tcg_temp_new(); dc->A0 =3D tcg_temp_new(); =20 - dc->cc_srcT =3D tcg_temp_new(); + dc->cc_srcT =3D NULL; } =20 static void i386_tr_tb_start(DisasContextBase *db, CPUState *cpu) diff --git a/target/i386/tcg/emit.c.inc b/target/i386/tcg/emit.c.inc index 473f415766f..968abd47a73 100644 --- a/target/i386/tcg/emit.c.inc +++ b/target/i386/tcg/emit.c.inc @@ -1699,6 +1699,7 @@ static void gen_CMPccXADD(DisasContext *s, X86Decoded= Insn *decode) * - s->cc_srcT: memory operand (lhs for comparison) * - cmpv: rhs for comparison */ + s->cc_srcT =3D tcg_temp_new(); gen_set_label(label_top); gen_op_ld_v(s, ot_full, s->cc_srcT, s->A0); tcg_gen_sub_tl(s->T0, s->cc_srcT, cmpv); @@ -1800,11 +1801,12 @@ static void gen_CMPXCHG(DisasContext *s, X86Decoded= Insn *decode) dest =3D gen_op_deposit_reg_v(s, ot, R_EAX, s->T0, oldv); tcg_gen_movcond_tl(TCG_COND_NE, dest, oldv, cmpv, s->T0, dest); =20 - tcg_gen_mov_tl(s->cc_srcT, cmpv); - tcg_gen_sub_tl(cmpv, cmpv, oldv); - decode->cc_dst =3D cmpv; + s->cc_srcT =3D cmpv; + decode->cc_dst =3D tcg_temp_new(); decode->cc_src =3D oldv; decode->cc_op =3D CC_OP_SUBB + ot; + + tcg_gen_sub_tl(decode->cc_dst, cmpv, oldv); } =20 static void gen_CMPXCHG16B(DisasContext *s, X86DecodedInsn *decode) @@ -2722,7 +2724,7 @@ static void gen_NEG(DisasContext *s, X86DecodedInsn *= decode) =20 decode->cc_dst =3D s->T0; decode->cc_src =3D oldv; - tcg_gen_movi_tl(s->cc_srcT, 0); + s->cc_srcT =3D tcg_constant_tl(0); decode->cc_op =3D CC_OP_SUBB + ot; } =20 @@ -4114,6 +4116,7 @@ static void gen_SUB(DisasContext *s, X86DecodedInsn *= decode) { MemOp ot =3D decode->op[1].ot; =20 + s->cc_srcT =3D tcg_temp_new(); if (s->prefix & PREFIX_LOCK) { tcg_gen_neg_tl(s->T0, s->T1); tcg_gen_atomic_fetch_add_tl(s->cc_srcT, s->A0, s->T0, --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840222; cv=none; d=zohomail.com; s=zohoarc; b=fNGRJMJrQJ9GB1tjldwXCwyiBF87+lHuZHrHx7wGUc4knKN8pOP+l09w8Mgc2hWuwdSnuJEjyKhOP8hb1Inm7tM7YsN0OH1j0LlYOCKcD0s40L59uEfBGRi9VBYeYgrW63WMrRuL/481C6Pue4DvAFvc5qrSKfGcnhYgGxVT+2w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840222; 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=tdZXj6xCMaHtXb1ZbAVNibFohz8lgPE2CXZ1gsgSqik=; b=OZZ22QAtebw6x5cnu9Sv5Y/7CS8cYWQ4UPKI+r9uzhtlj0mESgvw/FkMK8hvfQWvVugm90ZoFcFHtMzpJaq3DXmcxkFQldkAAIcmzB+eHNkmqiGP4dt7EFe2nzYPhNxZxQQhsDPiEC/zZk79b6rxYpHrCOS3uXXZD+woBCPtRRU= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840222106498.00748860964904; Thu, 27 Aug 2026 07:17:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarx-0002pT-5N; Thu, 27 Aug 2026 10:14:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzaro-0002iZ-Tx for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarh-0005p3-U1 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:08 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-538-vLSmi_CTMTib4rYGwUlWMw-1; Thu, 27 Aug 2026 10:13:59 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-49564d4b849so7502485e9.3 for ; Thu, 27 Aug 2026 07:13:59 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b49cc61cfsm57839615e9.6.2026.08.27.07.13.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tdZXj6xCMaHtXb1ZbAVNibFohz8lgPE2CXZ1gsgSqik=; b=gYd8ZwIPsjhvGUuOGQRhBeWazX/PHw/+MEhI5wXemuawiwTG6oQ5yocRvTlbifXhS45u90 K99+a2mAHylh7+NbVVfMe7GBkI1qesrsbjdj+QhMEoP55EEDTu7VFSLtInHvjNMAGXhJm5 ygj5EqqdnwjMKBU1CKTvNApmfC+DucQ= X-MC-Unique: vLSmi_CTMTib4rYGwUlWMw-1 X-Mimecast-MFC-AGG-ID: vLSmi_CTMTib4rYGwUlWMw_1787840038 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840038; x=1788444838; 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:content-type; bh=tdZXj6xCMaHtXb1ZbAVNibFohz8lgPE2CXZ1gsgSqik=; b=PpZJbEK5Jzvz0cibprO4DMVR8f/vBnHL+2rECpUR0M6J+0dnUvklpQI2zhEhXzvsyj Afit7R7Kj5uZJYfJxN/FqwIjl6cPCEFdIsUg1b6INtsxR5rko7YCHorJWvkfrcqVfBE3 m+dTogMahdSZTzBLjzGI6hYAnXnBehQ0tVuWYP8mknyyDnMIr47TxdWfZXN/z7dwUV4o Uby1CMJt7j+IZKMDrL+PoB5LRjcIINpvWmB4+pPNfTOv41EdynrLpBMAHi7wmoN6OEak HJ1+O8Np6+gdVluOs8vAcUZIcbXwitJo3bRwUGwv9e5tdJdN8QGNvGDK/sH6sKgpKJgm FW9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840038; x=1788444838; 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:content-type; bh=tdZXj6xCMaHtXb1ZbAVNibFohz8lgPE2CXZ1gsgSqik=; b=EQzUw6NciVsm1UQAmA80U+qXnjmjeHRauAtbcO6HXAD/SIoOGunNea42ztzLrPbX4f ztBBSPwEF7BU7p8JOtfe0iKFl+bi7OdDU93R5ATjDdDIH1cJDfYsV56BYYDUV/4+kpNw a+2sV956/F9ZMKzsqHc4kJ0CsSYQc8lGPFTwlqLTIJp4DzC5igiNSpWzROrVoYM/axA2 E36lvbiSgy1nmCC89Sk4L6mmPAduxT52yjUl7QD2wYUoALp7j4jfqzscpdGLbWHWQhDV o4aFyuoS846YTZTTZv+XAOW6FgThf6uTtC3bxlPAeuH+ryZaF3wtOii038eoekbD1OY1 vi8Q== X-Gm-Message-State: AFuF++k0y0t0hDYhuJ88/1iR+3x4dPNQpjAbHJptUUuNtWTpP6ugfiOP LL5c4p40qUiJQH3qJFixt/1E+AzSSAZemIvmNi/WZl3MldlI3JWAeSa4zuaMDbslbBK4AHL7HxT mD8kDxfQNXvcqj4tUjjyLZe1Zm338GLsdPzbCE9A6ZJ3NkUKYVEVGI6j14nsatBxHjkEVKF9/2r SxWPQnbvmognK99gNGnEpEcQUe1vuSTpEmFkHkbHnC X-Gm-Gg: AR+sD10jhTomW2r5xxNLWLBN8zc4e1XPKV8PKb07hjFQrGAR2oTtPoNGBfnecNRpHQL ta8vlPmQQKkqHe/rGrA+bujg4JOapDe6y2MYZHOCCzKgKS3WVjuInvWRUK122xegUYQeRz4T+EF wDJLZ+PrK/Ga+pJ2gzBJqu237mQZlwOqcafIy7yxilg+KPdG7bFHJQgPE3UzhHMFhnxpkGUU7b1 1rCk76InqeSNEp5aiDV2pW384TpsNDQVNvYutVKaffsMNE2NGFo9nVN3F9RlBI9aXKpT4cyHQvR E38bNJixc2o7+ql3L4tXKIUg/32iMcpCaX70t20StYw5NhTN3ia+FvwZMc9zvAxR7wg5ymCJ6Ul xOgg0BV+AHj8tap9Kqq3WP4HM2XRiVdSrGMBZp5SSSUJ4e8W3tpaKp62pMkJuVQELOjI+e7wGtn 60DVs= X-Received: by 2002:a05:600c:8518:b0:499:dc34:bdc with SMTP id 5b1f17b1804b1-499dc6f553emr191665775e9.1.1787840038256; Thu, 27 Aug 2026 07:13:58 -0700 (PDT) X-Received: by 2002:a05:600c:8518:b0:499:dc34:bdc with SMTP id 5b1f17b1804b1-499dc6f553emr191664695e9.1.1787840037739; Thu, 27 Aug 2026 07:13:57 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Richard Henderson Subject: [PULL 14/23] target/i386/tcg: inline gen_ext_tl Date: Thu, 27 Aug 2026 16:13:02 +0200 Message-ID: <20260827141314.1099352-15-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840224108158500 Content-Type: text/plain; charset="utf-8" It has been mostly replaced by tcg_gen_ext_tl(), other than for a single appearance in gen_op_j_ecx(). No need to have a separate function. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 22 ++++++++-------------- target/i386/tcg/emit.c.inc | 4 ---- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index d1791550772..70f9bb42209 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -640,23 +640,17 @@ static inline void gen_string_movl_A0_EDI(DisasContex= t *s) gen_lea_v_seg(s, cpu_regs[R_EDI], R_ES, -1); } =20 -static TCGv gen_ext_tl(TCGv dst, TCGv src, MemOp size, bool sign) -{ - if (size =3D=3D MO_TL) { - return src; - } - if (!dst) { - dst =3D tcg_temp_new(); - } - tcg_gen_ext_tl(dst, src, size | (sign ? MO_SIGN : 0)); - return dst; -} - static void gen_op_j_ecx(DisasContext *s, TCGCond cond, TCGLabel *label1) { - TCGv tmp =3D gen_ext_tl(NULL, cpu_regs[R_ECX], s->aflag, false); + TCGv cmpval; + if (s->aflag =3D=3D MO_TL) { + cmpval =3D cpu_regs[R_ECX]; + } else { + cmpval =3D tcg_temp_new(); + tcg_gen_ext_tl(cmpval, cpu_regs[R_ECX], s->aflag); + } =20 - tcg_gen_brcondi_tl(cond, tmp, 0, label1); + tcg_gen_brcondi_tl(cond, cmpval, 0, label1); } =20 static inline void gen_op_jz_ecx(DisasContext *s, TCGLabel *label1) diff --git a/target/i386/tcg/emit.c.inc b/target/i386/tcg/emit.c.inc index 968abd47a73..c83ab809408 100644 --- a/target/i386/tcg/emit.c.inc +++ b/target/i386/tcg/emit.c.inc @@ -1686,10 +1686,6 @@ static void gen_CMPccXADD(DisasContext *s, X86Decode= dInsn *decode) ot_full |=3D MO_SIGN; } =20 - /* - * cmpv will be moved to cc_src *after* cpu_regs[] is written back, so= use - * tcg_gen_ext_tl instead of gen_ext_tl. - */ tcg_gen_ext_tl(cmpv, cpu_regs[decode->op[1].n], ot_full); =20 /* --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840070; cv=none; d=zohomail.com; s=zohoarc; b=eQS3j6UpDhFBDc2qVQ+k3Xk8eEyH/1ZeKNz9PM/5IbnR3VxOLYsPdte97GVGsZXMCuJ2+gilyBAjfMW2gho+Xm3xm5yuxJzkMSivqrWdSS3BGTJz5wPuFROoF269yDozK1tRWW4MWTWVwvijLXdb5qg0FqhpFY6jlCgYKJC6Gr4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840070; h=Content-Transfer-Encoding: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:Cc; bh=NXXfH76IwMh9/5p8vLCuxmy9aJBgxgL/VPpjBI4iay0=; b=bfDc4qSXg3RE5SaVGs6c9B8YjgeBWcLaCcXOQC38Qd+Cv4LLHM+gsSt6lMp+kQY+5P4Xco3jVQI9uvg8omngctqTcm2bX1nNDacMGQK7SgP9ACHqiOEmW+46roxTo3Xd/HQT5zM5J15ZQzsRCn1FNRC15vZrne8tsEoZ2iVH5Z0= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840070611588.9776042200828; Thu, 27 Aug 2026 07:14:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzarz-0002sX-0H; Thu, 27 Aug 2026 10:14:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarx-0002qf-Bb for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:17 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarn-0005sJ-5H for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:17 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-400-OcXRKl3rPJeb9u6p31gciQ-1; Thu, 27 Aug 2026 10:14:03 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-49545071724so19819975e9.0 for ; Thu, 27 Aug 2026 07:14:03 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b497fa9c5sm53055005e9.4.2026.08.27.07.13.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:13:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NXXfH76IwMh9/5p8vLCuxmy9aJBgxgL/VPpjBI4iay0=; b=NOWrV2BeFsuu9TWYcTnEjKlzuhAHdZNSBTk/KJpJxOBhm/Y/k8RQ/OiYNLlIyVjcRLv+XI 588KWXcJG2qUoSgNzgH3H9WFLC1/2unGxb1vTkrwzqSkUgdfeXDyfezw/b8H+p5RgWMv/t C3PPUYKfe/zo6Uk0f3rSJvQFqeCoSsk= X-MC-Unique: OcXRKl3rPJeb9u6p31gciQ-1 X-Mimecast-MFC-AGG-ID: OcXRKl3rPJeb9u6p31gciQ_1787840043 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840042; x=1788444842; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=NXXfH76IwMh9/5p8vLCuxmy9aJBgxgL/VPpjBI4iay0=; b=jdZ5GnfDnH4YaojfZgmMvsp7J3Q8iJgbcD1WKMfYAd0lPKnHSdWY3BcZjD7GUFoaHd cccCP7cFNglwWdtpN1+c3S3x7PpwDoZXnNPnvuv825QKzH1wkN0qZ2V4x9hmiAETCB7W DD7lm1d+oTxX9NtFJ+MmrAWqnb/0pH2X8woEemBCpeXpfLWy9DwL7MayvAul8Ik69W+L k5fgSkMYBtsTiE3Rkk8/MgZkMETUyNVY7n8JJr4LiuBaSDT+e57mHUdxRrIaY2a4AFmM 2YBTkdnE7pqkSn+M6DURM8fB1qYRVtarl+nziTLteSd6myu7vcZRFmNOVqnasQ2IWzq2 EoWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840042; x=1788444842; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=NXXfH76IwMh9/5p8vLCuxmy9aJBgxgL/VPpjBI4iay0=; b=j+J9mNeam49M136p4kcHetoNs/6qZdfw3Jfyy1+9khe1+XjqF4dYesjGb3FTz/8mb0 IANVJg5EqhMVt1jBzLuZyFNyp9Y/P87LjbgbFpJO3iQmInWFmHODbrj/1ZfQSYDSd8D3 CvvD8iq+iTkE9ubLBCuNmPoHI2P0f+JZe117CjfmdRDTZHoObK8w73g0Yssp13tqKK6b ObKBYbhf7LARsI7E8w6ze9DZMj0ndaikE7Ksgi6gjEYwcaeD6G19058PX2RVz9FXr/o4 u9GdB7lNbetdJAZmQYokQhn/gaE4BFsExK6QiOa9KalKjkI5aEtIdIaTljsX0wRffLc4 4Dbw== X-Gm-Message-State: AFuF++kV+NVeJBA0plMr3BgfUc+t2duFrsfIQ+Rbu6DX5ObMAapVM5nH Lyqvl/DdF/IZLzM97ONLtA+FFM5rxy39NMIh3/StSnq7o53OL7dh5nMw3Skc7LU4+6HaaRSxHVz pXKvmwac9e/2myAWxEhL7jS1dxnksPV9yr/ECYQNDWM+59gq2RK3Gki/I3ItMgZT1KqfopmSS1m DjBrOIR3zWGdmpZAkeYSu0BNX7DGQTcNNq5/t/tWj8 X-Gm-Gg: AR+sD10FdrXYe0eb3vxBgh9MJcjWXeHDKLj9kRhbtdO0RdVw8b5lMHeBShV9YF9glBQ veRxaKGiAnc7tFRH0cEKc7iwR1BBCLjbNf81l8QIWvrz/jr7RVjgFx//apNP0anZGuKyCzRoBEw OwN5rIcE+SCRZifBsm0uD+V9ch3J4G8jHi2NED1807z93+H0H0SFP0f4vjld8U25OH7Iws+QJ+W tQbH83torbIKjholm7NYY0kthhkkLaGew695So82rruVYQygnPeAQWSF/cPTC54ZyMrri4nvf4r gC0izb8OFQy0Wwjdg4kKov8XF+vN9NcUpzdq2FVE5s4vWmY+8JudYNnEHRbNV2kI76euiq50SIb C1eQVYAEH4QbXM6vMZOGGgO2MiT1ncT6iBdcEZtHV0Rq0x6PrYuA0ugMKI775+NrTZZLATiCpSO YPqy4= X-Received: by 2002:a05:600c:c172:b0:49b:72e4:6223 with SMTP id 5b1f17b1804b1-49b72e463bdmr85531545e9.7.1787840042302; Thu, 27 Aug 2026 07:14:02 -0700 (PDT) X-Received: by 2002:a05:600c:c172:b0:49b:72e4:6223 with SMTP id 5b1f17b1804b1-49b72e463bdmr85529915e9.7.1787840041662; Thu, 27 Aug 2026 07:14:01 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 15/23] target/i386/tcg: simplify return value of gen_prepare_cc Date: Thu, 27 Aug 2026 16:13:03 +0200 Message-ID: <20260827141314.1099352-16-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840070870158500 Content-Type: text/plain; charset="utf-8" Always make reg2 valid, unify .use_reg2 and .no_setcond now that .use_reg2 is a misnomer. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 63 ++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 70f9bb42209..bbd1c3b7893 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -828,13 +828,21 @@ static void gen_compute_eflags(DisasContext *s) set_cc_op(s, CC_OP_EFLAGS); } =20 +typedef enum { + /* imm is valid and reg2 is a constant */ + CC_PREPARE_IMM, + /* imm is invalid */ + CC_PREPARE_REG, + /* imm and reg2 are 0, and reg is known to be 0/1 */ + CC_PREPARE_DIRECT, +} CCPrepareRHS; + typedef struct CCPrepare { TCGCond cond; TCGv reg; TCGv reg2; target_ulong imm; - bool use_reg2; - bool no_setcond; + CCPrepareRHS rhs_type; } CCPrepare; =20 static CCPrepare gen_prepare_sign_nz(TCGv src, MemOp size) @@ -871,7 +879,7 @@ static CCPrepare gen_prepare_eflags_c(DisasContext *s, = TCGv reg) tcg_gen_ext_tl(s->cc_srcT, s->cc_srcT, size); tcg_gen_ext_tl(cpu_cc_src, cpu_cc_src, size); return (CCPrepare) { .cond =3D TCG_COND_LTU, .reg =3D s->cc_srcT, - .reg2 =3D cpu_cc_src, .use_reg2 =3D true }; + .reg2 =3D cpu_cc_src, .rhs_type =3D CC_PREPAR= E_REG }; =20 case CC_OP_ADDB ... CC_OP_ADDQ: /* (DATA_TYPE)CC_DST < (DATA_TYPE)CC_SRC */ @@ -879,7 +887,7 @@ static CCPrepare gen_prepare_eflags_c(DisasContext *s, = TCGv reg) tcg_gen_ext_tl(cpu_cc_dst, cpu_cc_dst, size); tcg_gen_ext_tl(cpu_cc_src, cpu_cc_src, size); return (CCPrepare) { .cond =3D TCG_COND_LTU, .reg =3D cpu_cc_dst, - .reg2 =3D cpu_cc_src, .use_reg2 =3D true }; + .reg2 =3D cpu_cc_src, .rhs_type =3D CC_PREPAR= E_REG }; =20 case CC_OP_LOGICB ... CC_OP_LOGICQ: case CC_OP_POPCNT: @@ -888,7 +896,7 @@ static CCPrepare gen_prepare_eflags_c(DisasContext *s, = TCGv reg) case CC_OP_INCB ... CC_OP_INCQ: case CC_OP_DECB ... CC_OP_DECQ: return (CCPrepare) { .cond =3D TCG_COND_NE, .reg =3D cpu_cc_src, - .no_setcond =3D true }; + .rhs_type =3D CC_PREPARE_DIRECT }; =20 case CC_OP_SHLB ... CC_OP_SHLQ: /* (CC_SRC >> (DATA_BITS - 1)) & 1 */ @@ -913,7 +921,7 @@ static CCPrepare gen_prepare_eflags_c(DisasContext *s, = TCGv reg) case CC_OP_ADCX: case CC_OP_ADCOX: return (CCPrepare) { .cond =3D TCG_COND_NE, .reg =3D cpu_cc_dst, - .no_setcond =3D true }; + .rhs_type =3D CC_PREPARE_DIRECT }; =20 case CC_OP_EFLAGS: case CC_OP_SARB ... CC_OP_SARQ: @@ -931,7 +939,7 @@ static CCPrepare gen_prepare_eflags_c(DisasContext *s, = TCGv reg) gen_helper_cc_compute_c(reg, cpu_cc_dst, cpu_cc_src, cpu_cc_src2, cpu_cc_op); return (CCPrepare) { .cond =3D TCG_COND_NE, .reg =3D reg, - .no_setcond =3D true }; + .rhs_type =3D CC_PREPARE_DIRECT }; } } =20 @@ -970,7 +978,7 @@ static CCPrepare gen_prepare_eflags_o(DisasContext *s, = TCGv reg) case CC_OP_ADOX: case CC_OP_ADCOX: return (CCPrepare) { .cond =3D TCG_COND_NE, .reg =3D cpu_cc_src2, - .no_setcond =3D true }; + .rhs_type =3D CC_PREPARE_DIRECT }; case CC_OP_SBB_SELF: case CC_OP_LOGICB ... CC_OP_LOGICQ: case CC_OP_POPCNT: @@ -1032,7 +1040,7 @@ static CCPrepare gen_prepare_cc(DisasContext *s, int = b, TCGv reg) tcg_gen_ext_tl(s->cc_srcT, s->cc_srcT, size); tcg_gen_ext_tl(cpu_cc_src, cpu_cc_src, size); cc =3D (CCPrepare) { .cond =3D TCG_COND_LEU, .reg =3D s->cc_sr= cT, - .reg2 =3D cpu_cc_src, .use_reg2 =3D true }; + .reg2 =3D cpu_cc_src, .rhs_type =3D CC_PREP= ARE_REG }; break; case JCC_L: cond =3D TCG_COND_LT; @@ -1043,7 +1051,7 @@ static CCPrepare gen_prepare_cc(DisasContext *s, int = b, TCGv reg) tcg_gen_ext_tl(s->cc_srcT, s->cc_srcT, size | MO_SIGN); tcg_gen_ext_tl(cpu_cc_src, cpu_cc_src, size | MO_SIGN); cc =3D (CCPrepare) { .cond =3D cond, .reg =3D s->cc_srcT, - .reg2 =3D cpu_cc_src, .use_reg2 =3D true }; + .reg2 =3D cpu_cc_src, .rhs_type =3D CC_PREP= ARE_REG }; break; =20 default: @@ -1128,6 +1136,9 @@ static CCPrepare gen_prepare_cc(DisasContext *s, int = b, TCGv reg) break; } =20 + if (cc.rhs_type !=3D CC_PREPARE_REG) { + cc.reg2 =3D tcg_constant_tl(cc.imm); + } if (inv) { cc.cond =3D tcg_invert_cond(cc.cond); } @@ -1138,7 +1149,7 @@ static void gen_neg_setcc(DisasContext *s, int b, TCG= v reg) { CCPrepare cc =3D gen_prepare_cc(s, b, reg); =20 - if (cc.no_setcond) { + if (cc.rhs_type =3D=3D CC_PREPARE_DIRECT) { if (cc.cond =3D=3D TCG_COND_EQ) { tcg_gen_addi_tl(reg, cc.reg, -1); } else { @@ -1147,18 +1158,14 @@ static void gen_neg_setcc(DisasContext *s, int b, T= CGv reg) return; } =20 - if (cc.use_reg2) { - tcg_gen_negsetcond_tl(cc.cond, reg, cc.reg, cc.reg2); - } else { - tcg_gen_negsetcondi_tl(cc.cond, reg, cc.reg, cc.imm); - } + tcg_gen_negsetcond_tl(cc.cond, reg, cc.reg, cc.reg2); } =20 static void gen_setcc(DisasContext *s, int b, TCGv reg) { CCPrepare cc =3D gen_prepare_cc(s, b, reg); =20 - if (cc.no_setcond) { + if (cc.rhs_type =3D=3D CC_PREPARE_DIRECT) { if (cc.cond =3D=3D TCG_COND_EQ) { tcg_gen_xori_tl(reg, cc.reg, 1); } else { @@ -1167,11 +1174,7 @@ static void gen_setcc(DisasContext *s, int b, TCGv r= eg) return; } =20 - if (cc.use_reg2) { - tcg_gen_setcond_tl(cc.cond, reg, cc.reg, cc.reg2); - } else { - tcg_gen_setcondi_tl(cc.cond, reg, cc.reg, cc.imm); - } + tcg_gen_setcond_tl(cc.cond, reg, cc.reg, cc.reg2); } =20 static inline void gen_compute_eflags_c(DisasContext *s, TCGv reg) @@ -1185,11 +1188,7 @@ static inline void gen_jcc_noeob(DisasContext *s, in= t b, TCGLabel *l1) { CCPrepare cc =3D gen_prepare_cc(s, b, NULL); =20 - if (cc.use_reg2) { - tcg_gen_brcond_tl(cc.cond, cc.reg, cc.reg2, l1); - } else { - tcg_gen_brcondi_tl(cc.cond, cc.reg, cc.imm, l1); - } + tcg_gen_brcond_tl(cc.cond, cc.reg, cc.reg2, l1); } =20 /* Generate a conditional jump to label 'l1' according to jump opcode @@ -1206,11 +1205,7 @@ static inline void gen_jcc(DisasContext *s, int b, T= CGLabel *l1) * it's cheaper to just compute the flags)! */ gen_update_cc_op(s); - if (cc.use_reg2) { - tcg_gen_brcond_tl(cc.cond, cc.reg, cc.reg2, l1); - } else { - tcg_gen_brcondi_tl(cc.cond, cc.reg, cc.imm, l1); - } + tcg_gen_brcond_tl(cc.cond, cc.reg, cc.reg2, l1); } =20 static void gen_stos(DisasContext *s, MemOp ot, TCGv dshift) @@ -1717,10 +1712,6 @@ static void gen_cmovcc(DisasContext *s, int b, TCGv = dest, TCGv src) { CCPrepare cc =3D gen_prepare_cc(s, b, NULL); =20 - if (!cc.use_reg2) { - cc.reg2 =3D tcg_constant_tl(cc.imm); - } - tcg_gen_movcond_tl(cc.cond, dest, cc.reg, cc.reg2, src, dest); } =20 --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840237; cv=none; d=zohomail.com; s=zohoarc; b=gdmOG8UrxxGEw+ZlhS/CbHe6OpNS7wKK/NjvpC7hhGhHvdgKrOgM8AMyR4+1UPNwM9HAo9LtWj9hhVy+HyBGbQ/IcD1nQW5H4TST4VRcpSBg9NoTTTERjzZfbSSHXHW+P/47wVI9QthAdBIyQgYjqb0CHQenDPmKSjPAHYC7Ulc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840237; h=Content-Transfer-Encoding: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:Cc; bh=eE17Ge5pQll+CKBZcZE4tJbV0rcAbPkHpSAYrj5d3UE=; b=McckwRUx01HupiLPoA+YN3oNZF96O0zkuyGtxNSC7n0aG2H1vl+W5x+Qn0YhQI2MXhJ2IqJAhlST2+7F3eRfOTiWQycADN1jWESdlqKUubvMQcVN0wPZ/A1ihZJdvX6i9LTSHCN4MR/zA9LzjCr7tZomBLZqSNtJ5GzAXq1NSKE= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840237249398.2072821857395; Thu, 27 Aug 2026 07:17:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzary-0002sR-Pk; Thu, 27 Aug 2026 10:14:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarw-0002oU-RT for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:16 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzaro-0005sn-O2 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:16 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-524-dWEIATXePYCjbQnNuE_pPA-1; Thu, 27 Aug 2026 10:14:05 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-495474a5fbcso19560465e9.1 for ; Thu, 27 Aug 2026 07:14:05 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e28e81besm9132720f8f.25.2026.08.27.07.14.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eE17Ge5pQll+CKBZcZE4tJbV0rcAbPkHpSAYrj5d3UE=; b=ULKOOnUzMTfMvbZwS1Zh3ElW0DS+BtZN7flBgc2eQ2jaNO5+b8sfpNX6S56p8rZRvbs2VC j7auO1v4TpJRBK7S433i1GWYhDDpJt9Lj+zDgJox4KR2GG2zuNZUbg0YWtjM1CbkWUzYNy bZnAUfQoMzyh8oFi5V8IoKBO6t7mbyc= X-MC-Unique: dWEIATXePYCjbQnNuE_pPA-1 X-Mimecast-MFC-AGG-ID: dWEIATXePYCjbQnNuE_pPA_1787840044 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840044; x=1788444844; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=eE17Ge5pQll+CKBZcZE4tJbV0rcAbPkHpSAYrj5d3UE=; b=SmQ5ScOE8TPqATfTwr6tX1QJL42BpU/YAourRE5/+WShYXbmwgHJcrOCIgE2sgYrLD 5ZzpQi6RoaMSAbEpH6BSgCeJm0d60NBHNUWT0Mg/2955qZSMkHbNHj7tc6ytjwM3UKkZ q2FP5IIj507O6DejITyMktFj40rKYwmfx7K3j78MvnH/piWhnxIKqKW/Oy2wsPyCHeaI Ngxz38C91S7xJjyRjzTgtgCg+2yZQi/aBk2XL8uOcvXF3VzLhs0UUjyUtxXdWl2pmz98 +b44yufxPXTBiv7rVgVo0s3ZwrFwLMpgyFt+74EkrA65AbqPIfXISeCzTk9RegqQOfLl KXkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840044; x=1788444844; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=eE17Ge5pQll+CKBZcZE4tJbV0rcAbPkHpSAYrj5d3UE=; b=iXvqgsdwkzCOHouKhvOvd54eYbOgMiqhB/yIWfXhKZ8zVo6rVfZfRxkX0ZVI0UTlPE GAN0Ax/kkr1OaFNIYBWEQCP0/iKCtu1+ZpvtlzEbPCPsvWv3KjMFrHHzWkV0zjVGM5Qq U/CGII7n7Un7hEN+8hrpQfzsATqlrUx+By6t5t4uZgdiYlrRyPadLbdCCROO3KQcmkfz ReduBhMnhzaLaLYAwRBjCoiAzwM3oXXAYKTNAl7+V3S72CdWEaMY8oPzNEaG13XQJKu4 ikog7B+5uzHEmmnGbPW+7NS+ReWZT7NxDbuaJeiDX12ZbzNIPSZLExmp1VRMyyNvDBVN Sllg== X-Gm-Message-State: AFuF++lFmW06Kx1HEkuFVgYLcj6TSH32zYgiSgrjqt1oJiron6QxN2RS lR/jxSuqWsydFKmHqIrDBsPrV4nvMnxDlA50zwJm6t/fwJFWGjjDcz7Dwndf48ivrXbjNXZ87e/ 9H22SPl2Xf0Byva6+OxCJZC21DVBOvqPSgRtl0h0jStuPQ2Yr4E8QKQUyAuOnNc1RggpNVXvRTO nZnSV3h/XYT4Wy4VKSkDLjYDjcbLLE/XhKDHM4g0Vf X-Gm-Gg: AR+sD12w7w1B7aA008n0Q94SOkUh1zM8KHEWTbbErEdopLQr40O9BvKeQv8tnsFbEOz V0H5fzjDRzkeSkayBvVvTI6u15zjvBFU9PRyhKY3vSXqvJwGnFKXDSYdRoevnTjQ6OMZ+2vfZcv VXUubzmQkt/m1G6YAd/mylh53UEt/WNy+OtrtEKGcqPs6vlutY+cqv+yVkXfbWT+lp93+tqBlDj rM9fGf6QL8Ru1ZHk0VPw8LU/uu/Dw+DvvAuz1nWuz83fZ2K+pg+S9zZwFena1eL3rwMbpdV7AHM cKEfKZnyy1uEc79E++Yr+qiAFKVoa5I0JcI1bZe3lUXz0PwKpdV/AMV7kH22bDmtC7onYNvUIbo RVT2q69rRT+aW0J92V0weJ9jlqiCozsiBBqJ4mlXI01+8OZo/9Blo8+HcKTOUxeNYOI2K+27979 hx1x4= X-Received: by 2002:a05:600c:4592:b0:499:b402:6c0 with SMTP id 5b1f17b1804b1-499dc6eac3bmr180539125e9.3.1787840044312; Thu, 27 Aug 2026 07:14:04 -0700 (PDT) X-Received: by 2002:a05:600c:4592:b0:499:b402:6c0 with SMTP id 5b1f17b1804b1-499dc6eac3bmr180538165e9.3.1787840043819; Thu, 27 Aug 2026 07:14:03 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 16/23] target/i386/tcg: move check bits out of validate_vex Date: Thu, 27 Aug 2026 16:13:04 +0200 Message-ID: <20260827141314.1099352-17-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840238188158500 Content-Type: text/plain; charset="utf-8" JMPABS will need the W0 check; move all of these checks together with the others in disas_insn. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.c.inc | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/target/i386/tcg/decode-new.c.inc b/target/i386/tcg/decode-new.= c.inc index 9c429e113de..47bc30a22fc 100644 --- a/target/i386/tcg/decode-new.c.inc +++ b/target/i386/tcg/decode-new.c.inc @@ -2723,24 +2723,6 @@ static bool validate_vex(DisasContext *s, X86Decoded= Insn *decode) if (s->flags & HF_EM_MASK) { goto illegal; } - - if (e->check) { - if (e->check & X86_CHECK_VEX128) { - if (s->vex_l) { - goto illegal; - } - } - if (e->check & X86_CHECK_W0) { - if (s->vex_w) { - goto illegal; - } - } - if (e->check & X86_CHECK_W1) { - if (!s->vex_w) { - goto illegal; - } - } - } return true; =20 nm_exception: @@ -3000,6 +2982,15 @@ static void disas_insn(DisasContext *s, CPUState *cp= u) goto illegal_op; } } + if ((decode.e.check & X86_CHECK_VEX128) && s->vex_l) { + goto illegal_op; + } + if ((decode.e.check & X86_CHECK_W0) && s->vex_w) { + goto illegal_op; + } + if ((decode.e.check & X86_CHECK_W1) && !s->vex_w) { + goto illegal_op; + } } =20 switch (decode.e.special) { --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840152; cv=none; d=zohomail.com; s=zohoarc; b=HZE4Iz+LvIFd2rX9PUcq+u9fRdke0/8NYeZUyIHVxgYdcI79R2GaJgxGTXGbo6Fn9VkWFfWrZGHwIWpIBXbo5FE0hgJQM29gAliwltVgw9UfLv/bScShg8rOEQV9uDnUqEaJpwFPjwKZCeHgMsLmBZOe4jmicaf4MIOda6tjp0s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840152; h=Content-Transfer-Encoding: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:Cc; bh=BzPmt7KVQkTpe1/d3/LXdqLWTe5gTJkqbQqLF5f/EEg=; b=XexO9Z9PwqLra/9+qtRNCUQ3by7CdkwttPLegAlfhYL0n/Wy105iFBScGL7YI6YaYagyuYM8J1N7GkfOEJ6WjyzKvvNd08K+mAEpSil6lP6HYc2Mok1enFY8cO+H5RxBd7qxfFZtFJUtLX1MhVN3c0pn0jHNteoatZx6Pl1CboI= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840152846264.94516549577224; Thu, 27 Aug 2026 07:15:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzas3-0002tp-6j; Thu, 27 Aug 2026 10:14:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzas1-0002tI-Kr for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:21 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzars-0005uj-CF for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:21 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-463-HrBZcTE3OiS1TgDX_UGlFA-1; Thu, 27 Aug 2026 10:14:08 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-47d81cf0c4cso1074158f8f.2 for ; Thu, 27 Aug 2026 07:14:08 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e27aa050sm9109506f8f.12.2026.08.27.07.14.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BzPmt7KVQkTpe1/d3/LXdqLWTe5gTJkqbQqLF5f/EEg=; b=DTpwgr+mu/7anPiwZ8yWSXTU8rvbNGer/Dne0TipnsPb0YoaLEAO5tViCuTlxUjsAFhplD TrPiv6x+13Xzf7WkjTwFCjDj002QUSxRr0HVlav2KhtqqB1NNN0hHRxbWke0z+bfiAu0x4 qKxupgU+GtNX7jMmaSfM8rEHR2YbVdo= X-MC-Unique: HrBZcTE3OiS1TgDX_UGlFA-1 X-Mimecast-MFC-AGG-ID: HrBZcTE3OiS1TgDX_UGlFA_1787840048 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840048; x=1788444848; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=BzPmt7KVQkTpe1/d3/LXdqLWTe5gTJkqbQqLF5f/EEg=; b=EnUdsI+v+MXwhNxW6Q0trv1NcGVsuK2He1GTuAAvxk0GPMJbcrcXCUoItmirP0KG9Z 8QHp2NThvJFoCif10NnY7KKUJDFi1gK31jiyxf6zsuGKP6lRf7IiVQ9xuKHRy5sOWJnu hefWCS8TdEJP3UsOfTDJNcmGhvXDL/EWF9dLOxcWyGMOTVjVt13pPdVQ4Qqtr+DUjcub 5wpaePkKwaMQC8DI0dKg3RO68Q1NGie7OtCWpW4tFioMNAqgbbD6TxgQzuJeZvjn9YLs 1pAG5+bqQB4Rchpxk+Fl5nzk5yVna8GFhAMKLcBTku4IT8kwZw6EPNMM2VVFDI2p9iX3 gzFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840048; x=1788444848; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=BzPmt7KVQkTpe1/d3/LXdqLWTe5gTJkqbQqLF5f/EEg=; b=oj+/urEK3U6+Ue5JLLrpbn0PRbgKoeEEqN/Q1v8zzatLCUyuU3hUX5HwWN6oYQIJM1 Ah8L0+fjCeiu11d8UGY5RkmfFSmXlXcd5gSTHZtNZTW/lKSW4LhE0i1p0FWF4IAZqd6c zCECyhF88/QH8N3mxPedkrhvx/7aDQ63m4+wOaT8VRcVMiXGED9cX2Zwx8qzN0A0lRFG qJaOAnpwlwjNxdLQxJcce0h0hKiEjSkT2bEDc1MFLiEniE7H04lfKyL42OoMZyIWwWpp Y0/AvNGGR26Fys2Tne3rwBXXJT5Y5kazyC2CCNTOePAMFUKLAFRn4CSla2QEWsLetEON vUMQ== X-Gm-Message-State: AFuF++l26B80EciJNNcT+Hzeyd/SfAP+Lke/TVz1pY2oAb1YLBRt1hef hTz6tazSLmnmRyn2iIIADQCCS4Aaz3RzpEEjnTMnOF521ahtcl/csi41AXaCL7A1hWInAuKVu1S PwHROIFRufTS9LZSHkfc8VQlUt1I6L2TxWCQeF8mfmweOgyquJMmIh2bLd2beH0N04W9lJklPpZ rCru0EAPNhOgf9IqoYV7+PhvbxEek9z7eWI/gst0Ah X-Gm-Gg: AR+sD12hctTBKBak6v+ITM5uUfHw0V5r/h371RaUnOnynAESpwu3WtMk22wSNl69H2U E55obVoYe7u+j7+1aZ/ZlTFfp/RoxaD9WLsgLz+URKqoeXsCyZRhl9arwsBXBh9jVHQu5L/rftx AUZFVq74SG4Ox5fChmWe6flttWVdgJmKz5Xi0kPlwCmj5ALqRowUoX+9LcGnHzdBisc70mt9DVz wSLaXtfPFRBWKWTO0FZiCs5Wag0xXlV3KuBIu11L7vj3jt8woeC21LAJTqhl7q24xIbTuxgdiwO 6j2b8F8zCigGzucVSN0dBj0jwOolZVDMuB/w6drKV71uRJapC4MkHU4pMgb0ZiYuFK/kT+mLhRV Ah1BOemgaYfV3XBhhQ2yWdTSDeELbFBn5Tlnz4p6VYYadkjTzkXUDvMPqPjgXZeOpLpuzS5+D2k 1UW2o= X-Received: by 2002:a05:6000:41d1:b0:482:f344:5325 with SMTP id ffacd0b85a97d-482f3445421mr7675589f8f.3.1787840047726; Thu, 27 Aug 2026 07:14:07 -0700 (PDT) X-Received: by 2002:a05:6000:41d1:b0:482:f344:5325 with SMTP id ffacd0b85a97d-482f3445421mr7675388f8f.3.1787840046768; Thu, 27 Aug 2026 07:14:06 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 17/23] target/i386/tcg: treat VEX as disabling high-byte registers Date: Thu, 27 Aug 2026 16:13:05 +0200 Message-ID: <20260827141314.1099352-18-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840153563158500 Content-Type: text/plain; charset="utf-8" This does not have any functional effect because the only instruction where it would make a difference is VPINSRB/VPINSRW, and they disable high-byte registers even for the non-AVX encoding. However, with APX it becomes a general property of the EVEX prefix and it makes sense to treat VEX the same way since it *does* include REX bits. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index bbd1c3b7893..d8de290acb6 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -208,7 +208,7 @@ typedef struct DisasContext { #endif =20 #ifdef TARGET_X86_64 -#define REX_PREFIX(S) (((S)->prefix & PREFIX_REX) !=3D 0) +#define REX_PREFIX(S) (((S)->prefix & (PREFIX_REX | PREFIX_VEX)) !=3D 0) #define REX_W(S) ((S)->vex_w) #define REX_R(S) ((S)->rex_r + 0) #define REX_X(S) ((S)->rex_x + 0) --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840104; cv=none; d=zohomail.com; s=zohoarc; b=M6aRjlcSU+KWjd9i2rBsXSCDX3h54Cx0JXc5JazVMA0eSMHAoZBgKPbaneuNQTg9Xb5sJ6NnMxI2Cl6A1r7EczOyYoY16yYWEBcXN/sUWrFofEHQbaNEr3mLNz8AQNtrf/DJ5k9Q2YaLl7KwIOYLMzTkxAP1WjpFP9aka5zQ4zw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840104; h=Content-Transfer-Encoding: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:Cc; bh=1pLSMCLpxSN80qw8SiP74TkTNU4AhuCBzxyGia3kBIw=; b=GqLLwcw6Dyt1tGY9U1UCganhhXx3HARjkUYC1uNAE8+CsLzkSOjIh/NGwfemlGOxQWEVIqBtPIXtQ+ssddM6VHrStt5sOy577Sa3e6VzmygkIgja5o8rUHAHKnElxMFs0acc5OSCm0Y2Uy2CbM/3fAAS9RdZbLmUlg+fBv/YIKg= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840104962208.4730739660405; Thu, 27 Aug 2026 07:15:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzas4-0002uA-8j; Thu, 27 Aug 2026 10:14:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzas2-0002tb-N9 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:22 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzart-0005vP-8w for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:22 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-489-4-lIyT5hN7C8UEqR7Rbc2g-1; Thu, 27 Aug 2026 10:14:11 -0400 Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-c2192261d79so249401766b.3 for ; Thu, 27 Aug 2026 07:14:10 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9e96bdsm584567466b.55.2026.08.27.07.14.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1pLSMCLpxSN80qw8SiP74TkTNU4AhuCBzxyGia3kBIw=; b=GUbUNoUWUCb1qOHrbpNMJ1W/zdYpoEgbjBTvJ4rdE16KWw6mc2xM5HAxoMXu9RpkgcILqM Oyff2OCgPOS121lmyu8DPg4Rkiq2lH1ZTWjX1Op4Li3pwQM9EnfFlJ/UkQig/Hu2E17lIC EAejOMGoM20dphw7e46gtI3K5grYd3I= X-MC-Unique: 4-lIyT5hN7C8UEqR7Rbc2g-1 X-Mimecast-MFC-AGG-ID: 4-lIyT5hN7C8UEqR7Rbc2g_1787840050 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840050; x=1788444850; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=1pLSMCLpxSN80qw8SiP74TkTNU4AhuCBzxyGia3kBIw=; b=IjdCTQG7pMw1rdcWXoOce/mVTyg8VgQs78ZHaG3JOXmfRNzvQ2cZTAlCsMW5ntShcr 88HsV0XOPxSD3grnTMZaQmFAyJyZ0s/w8kvk8fqS3MLGQF+l1z30k7x2KKuEeooplj+J U2v7uM8VEoMq3Yjxa3dGevOZbyCVCduOOHHPGf670ndYlGrNtHXE4n72JFc+4gBK2Vi+ twa4bFHt1P/7J9Ju7suS5POdj294qO6WaDHPVgDbPAzoJ3RzAI1hyBj3f/EpYV3fyQEG 8gXh3fhr6xUqWqwvyNIvWEF8JSAlqthxsQj92Y1IN2nUUIrUV5D/J8mfZygx5tbPz3fZ WIvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840050; x=1788444850; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=1pLSMCLpxSN80qw8SiP74TkTNU4AhuCBzxyGia3kBIw=; b=EeeWi9XdxjbNsn/Z9KXZZJg49b5n7gc+70T9FhII5XZrlzJuT9sR81+2yr+kdFi3lS 3KBd2Rlu8ZlqidVsf+rti3ZzV5ZYlV7AAlWTUImWyPPvpvLvhl2F9x6Ajl/i4Ay7pjEk WYl5ppk3npUpv2pjB3CsDTOXudczcoQsvCWssWo74IygJwtthQ5yon421OVJY8XoZLHo o9gecj1KyQGm5Q4IAl8YzeKtkeW77nG9fmZ01VqC+TJtTp6aHaHw6dI2NfNtdWPJi5cs /rrwDWANLJpJ/74NXpXE6SoGdAFK/+VBD/gYFTmf5fY/hmQcU1k98z4tOi/7j06E1NMf d0CA== X-Gm-Message-State: AFuF++nk8Rnaqia59z1xieTa08vpVSkjA7W2Z/8vO7suaIHBtoQVvt2Y 0wQs9SKFhikBzi0ewyrSAX41dn8JxI7S5o9dUCz5CIY1TOuNQsPBCxpH/TY3x/pB+DkSF7QMxFp 1jdMxi+3lWoDsjXeMRc2q1d+MjlkwSRZf99nO4Vbaws5x2Qk6/H9mklOCjPTJQT7Ug62Ufjffq/ g2fiefBvaqH2de9us7SaIjIYU7xx2Oj+uZoGo9u8dX X-Gm-Gg: AR+sD12cJV8U6l1MEMHQkmzi88Cm1oOm/pTRrYjQP+/+K4k/+5v6q9XxFK+7FrNg4Dg 2QV/o9wVUK32+tv9ennFJvTSpT53ram6kbAp/cWxDrDm5zk4SLhOB8/RdGwXaC5ocpFWKVpNVq8 +JL9QxnfvOIj760h17WQPVHvQRFVN3rl4sh+tDVvKCnlPnk3BdDE2LKGJLSnvRgJ/PBWCY4MdQT ScL4iRpm04kPitmIS3nE5vZE+ZemthbMoiyLfGHsSeQjdYbMINuIe2Kb5s/3DL0qZPOBrW8EkR/ XOW+eFkpVcb9ezEZAzaQSJTpyYzVl5e8f38FTjjKDbxKGRaK47cLDEGxhmHpg+9lcWiLfUDQHDM j2Aamr3/ImMu8crPzEffk8NxaNdBZ05r6+ybVqEr5BV78DOxtaHTtrL7bWONrB9q+1KpYEOv48X ht5Jc= X-Received: by 2002:a17:907:3d0c:b0:c25:37e2:2d3b with SMTP id a640c23a62f3a-c2537e230c6mr534568666b.10.1787840049686; Thu, 27 Aug 2026 07:14:09 -0700 (PDT) X-Received: by 2002:a17:907:3d0c:b0:c25:37e2:2d3b with SMTP id a640c23a62f3a-c2537e230c6mr534561766b.10.1787840048909; Thu, 27 Aug 2026 07:14:08 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 18/23] target/i386/tcg: fetch modrm early Date: Thu, 27 Aug 2026 16:13:06 +0200 Message-ID: <20260827141314.1099352-19-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840105214158501 Content-Type: text/plain; charset="utf-8" As a first step towards handling EVEX prefixes, fetch the modrm byte before decode_ops(). This way, EVEX validation can use the mod bits: for example, APX instructions require X4=3D0 if the r/m operand is a register. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.c.inc | 65 ++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/target/i386/tcg/decode-new.c.inc b/target/i386/tcg/decode-new.= c.inc index 47bc30a22fc..f5f36ef1731 100644 --- a/target/i386/tcg/decode-new.c.inc +++ b/target/i386/tcg/decode-new.c.inc @@ -2012,9 +2012,8 @@ static void decode_root(DisasContext *s, CPUX86State = *env, X86OpEntry *entry, ui static void decode_modrm(DisasContext *s, CPUX86State *env, X86DecodedInsn *decode, X86DecodedOp *op) { - int modrm =3D get_modrm(s, env); - int mod =3D (modrm >> 6) & 3; - int rm =3D modrm & 7; + int mod =3D (s->modrm >> 6) & 3; + int rm =3D s->modrm & 7; bool is_vsib =3D decode->e.vex_class =3D=3D 12; int sib =3D -1; =20 @@ -2226,11 +2225,33 @@ static bool decode_op_size(DisasContext *s, X86OpEn= try *e, X86OpSize size, MemOp } } =20 +static bool op_has_modrm(X86OpType type) +{ + switch (type) { + case X86_TYPE_C: /* REG in the modrm byte selects a control register = */ + case X86_TYPE_D: /* REG in the modrm byte selects a debug register */ + case X86_TYPE_E: /* ALU modrm operand */ + case X86_TYPE_EM: /* modrm byte selects an ALU memory operand */ + case X86_TYPE_G: /* REG in the modrm byte selects a GPR */ + case X86_TYPE_M: /* modrm byte selects a memory operand */ + case X86_TYPE_nop: /* modrm operand decoded but not fetched */ + case X86_TYPE_N: /* R/M in the modrm byte selects an MMX register */ + case X86_TYPE_P: /* REG in the modrm byte selects an MMX register */ + case X86_TYPE_Q: /* MMX modrm operand */ + case X86_TYPE_R: /* R/M in the modrm byte selects a register */ + case X86_TYPE_U: /* R/M in the modrm byte selects an XMM/YMM register= */ + case X86_TYPE_V: /* reg in the modrm byte selects an XMM/YMM register= */ + case X86_TYPE_WM: /* modrm byte selects an XMM/YMM memory operand */ + case X86_TYPE_W: /* XMM/YMM modrm operand */ + return true; + default: + return false; + } +} + static bool decode_op(DisasContext *s, CPUX86State *env, X86DecodedInsn *d= ecode, X86DecodedOp *op, X86OpType type, int b) { - int modrm; - switch (type) { case X86_TYPE_None: /* Implicit or absent */ case X86_TYPE_A: /* Implicit */ @@ -2246,7 +2267,7 @@ static bool decode_op(DisasContext *s, CPUX86State *e= nv, X86DecodedInsn *decode, =20 case X86_TYPE_C: /* REG in the modrm byte selects a control register = */ op->unit =3D X86_OP_CR; - op->n =3D ((get_modrm(s, env) >> 3) & 7) | REX_R(s); + op->n =3D ((s->modrm >> 3) & 7) | REX_R(s); if (op->n =3D=3D 0 && (s->prefix & PREFIX_LOCK) && (s->cpuid_ext3_features & CPUID_EXT3_CR8LEG)) { op->n =3D 8; @@ -2262,7 +2283,7 @@ static bool decode_op(DisasContext *s, CPUX86State *e= nv, X86DecodedInsn *decode, =20 case X86_TYPE_D: /* REG in the modrm byte selects a debug register */ op->unit =3D X86_OP_DR; - op->n =3D ((get_modrm(s, env) >> 3) & 7) | REX_R(s); + op->n =3D ((s->modrm >> 3) & 7) | REX_R(s); if (op->n >=3D 8) { /* * illegal opcode. The DR4 and DR5 case is checked in the gen= erated @@ -2281,14 +2302,14 @@ static bool decode_op(DisasContext *s, CPUX86State = *env, X86DecodedInsn *decode, =20 case X86_TYPE_S: /* reg selects a segment register */ op->unit =3D X86_OP_SEG; - op->n =3D (get_modrm(s, env) >> 3) & 7; + op->n =3D (s->modrm >> 3) & 7; /* Values outside [CDEFGS]S, as well as storing to CS, are invalid= . */ if (op->n >=3D 6 || (op->n =3D=3D R_CS && op =3D=3D &decode->op[0]= )) { return false; } break; =20 - case X86_TYPE_P: + case X86_TYPE_P: /* REG in the modrm byte selects an MMX register */ op->unit =3D X86_OP_MMX; goto get_reg; =20 @@ -2300,7 +2321,7 @@ static bool decode_op(DisasContext *s, CPUX86State *e= nv, X86DecodedInsn *decode, op->unit =3D X86_OP_SSE; } get_reg: - op->n =3D ((get_modrm(s, env) >> 3) & 7); + op->n =3D ((s->modrm >> 3) & 7); if (op->unit !=3D X86_OP_MMX) { op->n |=3D REX_R(s); } @@ -2339,8 +2360,7 @@ static bool decode_op(DisasContext *s, CPUX86State *e= nv, X86DecodedInsn *decode, case X86_TYPE_R: /* R/M in the modrm byte selects a register */ op->unit =3D X86_OP_INT; get_modrm_reg: - modrm =3D get_modrm(s, env); - if ((modrm >> 6) !=3D 3) { + if ((s->modrm >> 6) !=3D 3) { return false; } goto get_modrm; @@ -2354,8 +2374,7 @@ static bool decode_op(DisasContext *s, CPUX86State *e= nv, X86DecodedInsn *decode, /* fall through */ case X86_TYPE_M: /* modrm byte selects a memory operand */ get_modrm_mem: - modrm =3D get_modrm(s, env); - if ((modrm >> 6) =3D=3D 3) { + if ((s->modrm >> 6) =3D=3D 3) { return false; } /* fall through */ @@ -2463,7 +2482,7 @@ static bool decode_insn(DisasContext *s, CPUX86State = *env, X86DecodeFunc decode_ return false; } =20 - /* First compute size of operands in order to initialize s->rip_offset= . */ + /* Compute size of operands here in order to initialize s->rip_offset.= */ if (e->op0 !=3D X86_TYPE_None) { if (!decode_op_size(s, e, e->s0, &decode->op[0].ot)) { return false; @@ -2496,6 +2515,13 @@ static bool decode_insn(DisasContext *s, CPUX86State= *env, X86DecodeFunc decode_ assert(e->op3 =3D=3D X86_TYPE_I && e->s3 =3D=3D X86_SIZE_b); s->rip_offset +=3D 1; } + return true; +} + +static bool decode_ops(DisasContext *s, CPUX86State *env, X86DecodeFunc de= code_func, + X86DecodedInsn *decode) +{ + X86OpEntry *e =3D &decode->e; =20 if (e->op0 !=3D X86_TYPE_None && !decode_op(s, env, decode, &decode->op[0], e->op0, decode->b)) { @@ -2993,6 +3019,15 @@ static void disas_insn(DisasContext *s, CPUState *cp= u) } } =20 + if (op_has_modrm(decode.e.op0) || op_has_modrm(decode.e.op1) || + op_has_modrm(decode.e.op2)) { + get_modrm(s, env); + } + + if (!decode_ops(s, env, decode_func, &decode)) { + goto illegal_op; + } + switch (decode.e.special) { case X86_SPECIAL_None: break; --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840284; cv=none; d=zohomail.com; s=zohoarc; b=a/fCHT83kcD4eYtbmUI1Y/k00kNj0PTERp4D9kVfu8HaULWsAH3ymnbVvSYNjKinDUD/0SC/x+YyVyO20HFwmCJlZdz46cV0vTk9+/JZaBzNwd/qztIVXgLo7TsU0As/L0gkmaCVsFQZeun28IqK4/LRAChPkeDGo1qJUCPaK2A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840284; h=Content-Transfer-Encoding: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:Cc; bh=psmWnwdI++Dx6M1pX0Tg1KVRHh212DdLzILYjePfc5o=; b=YHl/xNbbfUMneB+keBaQxes1bYGuUN3Q/BNXzDWROJTBZ9iW7lxBmSn2UoNCQHfP+Ti/3/fZ5zejAQEEII1xQ7sh/zAfi2Us4+JnDEt+yrkFfZosDmfNZs6HiHMMDnkgbvHTxX1KxxDoIqnfK1KpNdLkyRO2ch4R727LmZxau9Y= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840284445606.305918405776; Thu, 27 Aug 2026 07:18:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzas7-000383-77; Thu, 27 Aug 2026 10:14:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzas4-0002xf-SM for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:24 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzarv-0005wg-S5 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:24 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-672-ji6DmsS9Pk2fOd3dydK09w-1; Thu, 27 Aug 2026 10:14:13 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-496bbcf7d1eso15104675e9.0 for ; Thu, 27 Aug 2026 07:14:13 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dd55dd4bsm70993175e9.3.2026.08.27.07.14.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=psmWnwdI++Dx6M1pX0Tg1KVRHh212DdLzILYjePfc5o=; b=OcwFwmQWKQJMGpE7d66kx7Mikf74bWeOjHTFvHEvx6hf3O8HemYuwFFs0fIsH7/DhSAwJQ abXgBH5AWK/m02/YPXwI3ncxRsUIu+rdRGh7bPX397uRJAqAc8gD+n7rUa9rE9jGxiZd4T 2UGY6K1EpCFhNAaZr7inRxTv1RhNZcY= X-MC-Unique: ji6DmsS9Pk2fOd3dydK09w-1 X-Mimecast-MFC-AGG-ID: ji6DmsS9Pk2fOd3dydK09w_1787840052 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840052; x=1788444852; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=psmWnwdI++Dx6M1pX0Tg1KVRHh212DdLzILYjePfc5o=; b=gNa7BYz4AhxyZ73E0b1DeqM7WXG2mzyuqEs7RQy7nud+2Br+xI5jf6YIkyp8+T2edh emV7mUs06uX4jGwlNRVXiasmWiCNfi+OOwB/kARlqCH0YG0A0RhVjHUaOvYO15n8UhXQ /G/R29vnq5HbUMYD/rMcmmsc/IVwpgJ5GtXwMxclA9bjBE0gzAwdiqu1u5Hk8D/LO7Is Md2at/4AGVYnFa9qlj1css81L+CrLk86epkTGD/chTd/T3I4K1fx9Vc8vCSbLVjEJSUa ORDPbxUyGC2kroPIL+lIFVIi4h1MAB102QxvRKtgXF1DsNRWhPiveBX1ZYQC/F38yZCt 2Ifg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840052; x=1788444852; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=psmWnwdI++Dx6M1pX0Tg1KVRHh212DdLzILYjePfc5o=; b=VXmxxrNWpDI/XaVbn8wav1dEWekRu7V80TH6ZNjubGolPGBo/iFBKdCOf0hNZmixJP lzMjGXSOFrMDL+cSj42AqKydzDbNlrAzjBesuyrYAMCcDOmzGtVMek2phRyAEV+nIi+k 37Ulg0O0fH3pwP+3srT455Jna1jTwvUllpUhb2IZ1plJzVKTNCqynd/MB4TlCpxRejP2 /r+vNOThjKhB+pZCjBqD5VCL5GXKcNCXUflNFeVa+QUoYujlOrS4nzK+A70EludnlfnZ frmtabvtxjK8PN+YY8lreq1/8a+X3QLeTT+5Ua3AfJTTc6XWQAXbsb/tHoFsGu3gtcBk 67Qw== X-Gm-Message-State: AFuF++n0/PEZ/M09Qtjv4XWVoiB0WIfuh93zqr+l4YhNgBr7KlMs1WFt JsY5pCCTzTMIG/IjIO5KusBqE/8k39iyZ3O3NP9IHX1a+y4WaFO0E4Gjnc2qsgvn/Uw600GRpGh mH0nWSsmkSWb8/An2DxJkATHU6Q74++5QjQdJetV20bl/soe2EYgG9aXGVNqspiCYvvDepNZai7 5Gs1f4Mh52ETm/zinxAl+U43YeIu4OAkEFCU/SPc+a X-Gm-Gg: AR+sD107wXaVKxZ8QXA25tlHoj2MAdERVpLsrg4dctolO+nmtivcGbuo5a/e2PEbPO0 775zpj0FP7vScvXe/swIKC+DFFT6sGdcsDCyY5SFsiwfnMc1JgWCdmNP0Vei4RD1a3dfESHMMue TfMhRBXSv3YPPuoGyhEUdtbA1XXQlbMFLlGBeJTbYsy+4oSOxQUm9JcBttIPpLIBdozbxu+RmUv F/nnaOKjV4CI+853JaSpW+sdQ4ECu8nPwCDEL03vDNty0M44g586ltWjQQ8A7RpcfYeft/QkyOP jB2rD1HLW5fc1YMEIbTBi95THOuY09KTbDsuQ7zHfAGT6dAqWr7XGtAdF/AAzVHAo0vtGW7M5g7 Fxfimw7YKhS0WmDMvnlN8mNZNZAup4kqhpk4i8HVz8WGCdeiXu55xHilI9YsBl9BxPSqHUn7sVE s+4xQ= X-Received: by 2002:a05:600c:8b5b:b0:499:b3f0:ff05 with SMTP id 5b1f17b1804b1-499dc81fa3dmr173639405e9.13.1787840052058; Thu, 27 Aug 2026 07:14:12 -0700 (PDT) X-Received: by 2002:a05:600c:8b5b:b0:499:b3f0:ff05 with SMTP id 5b1f17b1804b1-499dc81fa3dmr173637715e9.13.1787840051281; Thu, 27 Aug 2026 07:14:11 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 19/23] target/i386/tcg: move VEX validation early Date: Thu, 27 Aug 2026 16:13:07 +0200 Message-ID: <20260827141314.1099352-20-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840286536158500 Content-Type: text/plain; charset="utf-8" Perform the X86_VEX_REPScalar transformation on X86OpEntry instead of X86DecodedOp; everything else can be checked equally well before immediates are fetched etc. This is especially important for APX, which may decode operands differently depending on the NDD bit: if EVEX.NDD=3D0, VEX.vvvv is ignored and must be zero. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.c.inc | 54 ++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/target/i386/tcg/decode-new.c.inc b/target/i386/tcg/decode-new.= c.inc index f5f36ef1731..1f071f0a5f0 100644 --- a/target/i386/tcg/decode-new.c.inc +++ b/target/i386/tcg/decode-new.c.inc @@ -2542,6 +2542,22 @@ static bool decode_ops(DisasContext *s, CPUX86State = *env, X86DecodeFunc decode_f decode->immediate =3D insn_get_signed(env, s, MO_8); } =20 + if (e->vex_class =3D=3D 12) { + /* Check no overlap between registers. */ + if (!decode->op[0].has_ea && + (decode->op[0].n =3D=3D decode->mem.index || decode->op[0].n = =3D=3D decode->op[1].n)) { + return false; + } + assert(!decode->op[1].has_ea); + if (decode->op[1].n =3D=3D decode->mem.index) { + return false; + } + if (!decode->op[2].has_ea && + (decode->op[2].n =3D=3D decode->mem.index || decode->op[2].n = =3D=3D decode->op[1].n)) { + return false; + } + } + return true; } =20 @@ -2648,9 +2664,9 @@ static bool validate_vex(DisasContext *s, X86DecodedI= nsn *decode) if (s->vex_l) { goto illegal; } - assert(decode->e.s2 =3D=3D X86_SIZE_x); - if (decode->op[2].has_ea) { - decode->op[2].ot =3D s->prefix & PREFIX_REPZ ? MO_32 : MO_= 64; + assert(e->op2 =3D=3D X86_TYPE_W && e->s2 =3D=3D X86_SIZE_x); + if ((s->modrm >> 6) !=3D 3) { + e->s2 =3D s->prefix & PREFIX_REPNZ ? X86_SIZE_sd : X86_SIZ= E_ss; } } break; @@ -2667,10 +2683,7 @@ static bool validate_vex(DisasContext *s, X86Decoded= Insn *decode) =20 switch (e->vex_class) { case 0: - if (s->prefix & PREFIX_VEX) { - goto illegal; - } - return true; + g_assert_not_reached(); case 1: case 2: case 3: @@ -2695,19 +2708,6 @@ static bool validate_vex(DisasContext *s, X86Decoded= Insn *decode) goto illegal; } =20 - /* Check no overlap between registers. */ - if (!decode->op[0].has_ea && - (decode->op[0].n =3D=3D decode->mem.index || decode->op[0].n = =3D=3D decode->op[1].n)) { - goto illegal; - } - assert(!decode->op[1].has_ea); - if (decode->op[1].n =3D=3D decode->mem.index) { - goto illegal; - } - if (!decode->op[2].has_ea && - (decode->op[2].n =3D=3D decode->mem.index || decode->op[2].n = =3D=3D decode->op[1].n)) { - goto illegal; - } /* fall through */ case 6: case 11: @@ -3024,6 +3024,16 @@ static void disas_insn(DisasContext *s, CPUState *cp= u) get_modrm(s, env); } =20 + if (decode.e.vex_class =3D=3D 0) { + if (s->prefix & PREFIX_VEX) { + goto illegal_op; + } + } else { + if (!validate_vex(s, &decode)) { + return; + } + } + if (!decode_ops(s, env, decode_func, &decode)) { goto illegal_op; } @@ -3085,10 +3095,6 @@ static void disas_insn(DisasContext *s, CPUState *cp= u) goto illegal_op; } =20 - if (!validate_vex(s, &decode)) { - return; - } - /* * Checks that result in #GP or VMEXIT come second. Intercepts are * generally checked after non-memory exceptions (i.e. after all --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840190; cv=none; d=zohomail.com; s=zohoarc; b=N/AsnJiocYw3ip93YNCFNkWAf/LHMiGZZH+VehBoMCLcpLu/GB7BmvY89NpBvDG0O2cZ6J2V56zN3xQEWCS+wOVFWrq5KZsjoBgqNkw7zz/RPsgfmMHKvpCduNbDfBvknVcCkHiY3IjCWYlpZtwkZ1qchlFw/ejq3LbK7r9xnSk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840190; 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=FVHt4kfMC19ZV7Xknh2WCbGWe9zSwmURX9G6ZKP5uCc=; b=HUiHyl9NxTgcYjNcKzfMsFfXAo0T+y8EdRn0NijmaWlu3xkCwaE/3HUMKc0X2QSTcKhKpehFl016Cb5Fu3aADQ7J2Rr/1AhKbPNO7APEr93vk7SwCbSKa8BtOmYIUaLo+FgSNuevv2Mx/mooqaSD0r/GfMhvBYg1J0RjjQW1m+c= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840190308355.19212824409; Thu, 27 Aug 2026 07:16:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzas7-0003B0-SW; Thu, 27 Aug 2026 10:14:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzas5-00031o-Nl for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:25 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzary-0005y0-ET for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:25 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-562-wMDrwhyEMzKa4uknp63mPw-1; Thu, 27 Aug 2026 10:14:15 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-c24ae1a510cso63980866b.3 for ; Thu, 27 Aug 2026 07:14:15 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250f99f6bdsm616919966b.0.2026.08.27.07.14.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FVHt4kfMC19ZV7Xknh2WCbGWe9zSwmURX9G6ZKP5uCc=; b=Ggb4NHDkRiSel2XPNvSGg2TdLkX0wuuZoievI72KQu+2l/WKPnPuFAfFLweUHSW0tWU+xK ev1AzKCtyOIiWgwUt+riZAi0Pm6YX36AIHSHe2iH5HEolHK7ZUVhm8e/LnmGPibNW8uo9n 1vtzxIxAqzkfJueOSEqcvHcihYV79ME= X-MC-Unique: wMDrwhyEMzKa4uknp63mPw-1 X-Mimecast-MFC-AGG-ID: wMDrwhyEMzKa4uknp63mPw_1787840055 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840054; x=1788444854; 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:content-type; bh=FVHt4kfMC19ZV7Xknh2WCbGWe9zSwmURX9G6ZKP5uCc=; b=cIbNVaVCwUm1hSpJ9p8VIaW0jWDaUlMCoF4CDYFXdZRRMFQJD2PBnZD1WeKWZI4KZh 9Y50h6sBpeLoOnSdMcowdbgaRihf9dwDurqlPKFt118S8zic486mabrWTFlP6Ca5KfIn +v1m5ZX921PCbWQVtzxPniUCBj1m9LJNFzsIIw0goMqIeF9Mc4z07nokFiTqoi34J7DB 8sLhSbSa2VZiDVMCR2sVVUBN/ZVLlm2M2RhSaoH8SNx3IwuxU19jayrDo2jbio80NXEM cy6SoAvrHumhkgPy/5QfUqMfiv9oBmK3jZENvGWjDX2C0HZ2nnyA+leCm6X+k0S4aipr 4oxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840054; x=1788444854; 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:content-type; bh=FVHt4kfMC19ZV7Xknh2WCbGWe9zSwmURX9G6ZKP5uCc=; b=YW2/N7t4+4d85VYKmrPOb5tquGRQJtiG1loqtGUFwt6jQmhD4jMRTyVV20dHszpWkV Xi2vNzyd4WTZFrUbUmoiwKwQRFTAd87YGTFYyAG7rNOZn8wi3YMeHfB9jjf2vnmBEwF8 fBPqR+sHQmdoxPbosmTCdP4j+AKUi9WuDRI2lo5mRGvg7wFWkd+2nKsFTheu2Kb67XWH mm0VsNibPXTTE1uYUiznj2WZ6zjBdigVIZMcSz7wdrY03s71n+18RxC4FYu7FSL8z1Gd bJTXGriPm55ZiSIDwJAiYRkIm4ZP/YzZaOD16lA1OyHuMQu3NRBWWEO4JHwRl/f3C+eo mkjA== X-Gm-Message-State: AFuF++l/fMEXEUd88gTp+VSPvFvYej7+XzS4kycgDRimpBAx22DiDbT1 vZooUdSdJa4lkqvXKoOpEyvkU5ElVdk2PITPIL0PEZV/EsNjOdTRg9VPpI11VOqd49rH09GgvYe v93NRlYPMSKnp8GqcetLWhEAKjNRY9GlDntu2vV5bp9hn9+13EVCvl405lFhDexD1+aHH8BYk7Z qp96V+w/HHTgYw+gED9jrWSkxkA0ODKHF5BgXnZo2H X-Gm-Gg: AR+sD11Y8QTzKGDwdrsJzveAHl+xJZEhQDEXXzc+1Vf0+4xkwMbNCFHkTbCDhXJcWe1 RvAVygqiEOsRNmeAErdtSeyTgtNly47kIUglh0IHCm3TUYwxYl9fMntyvXS55FmmWHFyixCY1Hl 8mtBamav5GW1zW21dIK0L+eZ+ULsASdNLuvMB77arGCFb18BOoEnZ7kgtF9v7ML7MebWk3xEHx/ TaAPoZF6vjRJIzvUdsYioXnQUE7yBRXlzG/kgPI2bwd1h+Ly2TXOGzZCc8ZmbCAr7J5KKZj+hWv H2+Wr3WnZqf7GVIrWkbCSqP2zznhAz5uyO0LBoGzNI0ZrvDSEp+6iUW1hC2IkwLSWLD9QwMRuJh qhDykImqyPnk+kuAMJfkQ/jpb3x1hjlyRLJbo7lIc3Ft4i86V2AkZlWpTvTgTtEXqJw93ZQM234 mhL9w= X-Received: by 2002:a17:907:1c8d:b0:c20:af9d:4533 with SMTP id a640c23a62f3a-c250c36a8e8mr1447243266b.19.1787840054371; Thu, 27 Aug 2026 07:14:14 -0700 (PDT) X-Received: by 2002:a17:907:1c8d:b0:c20:af9d:4533 with SMTP id a640c23a62f3a-c250c36a8e8mr1447238866b.19.1787840053831; Thu, 27 Aug 2026 07:14:13 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, Stefan Hajnoczi Subject: [PULL 20/23] scsi-disk: fix out-of-bound read in WRITE SAME Date: Thu, 27 Aug 2026 16:13:08 +0200 Message-ID: <20260827141314.1099352-21-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840191902158500 Content-Type: text/plain; charset="utf-8" A guest with an attached scsi-hd can force QEMU's SCSI disk emulation to read roughly 60 KiB past the end of a heap buffer, copying that out of bounds host memory into the guest's own disk image. WRITE SAME computes the request transfer length at dev->blocksize when the request is prepared and sets cmd->xfer from dev->blocksize. scsi_disk_emulate_command() then uses cmd->xfer as the size of the request buffer. However, MODE SELECT can race with the WRITE SAME command and guest raise the logical block size to any value whose low bits fit 0xfe00, up to 65024. In the presence of this race, scsi_disk_emulate_write_same() will read from memory as many bytes as indicated by the *new* dev->blocksize, and write it to disk. The read length in WRITE SAME must be bounded by the buffer that was actually allocated, not by the mutable s->qdev.blocksize, so clamp the length used against inbuf to r->buflen. Re-validating req->cmd.xfer against the current block size would not work because the race is intrinsic in the SCSI protocol. I am not sure if this is exploitable with virtio-scsi and other SG-capable HBAs, because it should process the WRITE SAME input immediately, without letting the MODE SELECT command race with it. Fixes: 356c4c441ec ("scsi-disk: allow MODE SELECT block descriptor to set t= he block size", 2022-07-13) Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4365 Cc: qemu-stable@nongnu.org Reviewed-by: Stefan Hajnoczi Signed-off-by: Paolo Bonzini --- hw/scsi/scsi-disk.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index 1b0cce128c5..5bb7a974d69 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -1911,6 +1911,7 @@ static void scsi_disk_emulate_write_same(SCSIDiskReq = *r, uint8_t *inbuf) SCSIRequest *req =3D &r->req; SCSIDiskState *s =3D DO_UPCAST(SCSIDiskState, qdev, req->dev); uint32_t nb_sectors =3D scsi_data_cdb_xfer(r->req.cmd.buf); + uint32_t buflen =3D MIN(s->qdev.blocksize, r->buflen); WriteSameCBData *data; uint8_t *buf; int i, l; @@ -1930,7 +1931,7 @@ static void scsi_disk_emulate_write_same(SCSIDiskReq = *r, uint8_t *inbuf) return; } =20 - if ((req->cmd.buf[1] & 0x1) || buffer_is_zero(inbuf, s->qdev.blocksize= )) { + if ((req->cmd.buf[1] & 0x1) || buffer_is_zero(inbuf, buflen)) { int flags =3D (req->cmd.buf[1] & 0x8) ? BDRV_REQ_MAY_UNMAP : 0; =20 /* The request is used as the AIO opaque value, so add a ref. */ @@ -1956,7 +1957,7 @@ static void scsi_disk_emulate_write_same(SCSIDiskReq = *r, uint8_t *inbuf) qemu_iovec_init_external(&data->qiov, &data->iov, 1); =20 for (i =3D 0; i < data->iov.iov_len; i +=3D l) { - l =3D MIN(s->qdev.blocksize, data->iov.iov_len - i); + l =3D MIN(buflen, data->iov.iov_len - i); memcpy(&buf[i], inbuf, l); } =20 --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840086; cv=none; d=zohomail.com; s=zohoarc; b=AD9yXb+zzAEqKt2CEl7LSJYEtG+Qgigu8O0HnoCHFHmp5MAqDg6i+UvlYIpw6xkvvc3ylsviWgKV+cZYOe6LDYoxuIfZAxYBO5KxArUo4COnSmKrK5PJi3xK/s3S/NmKh4PzL34DdY94HytPTrpH/LGGcfDYJXPBXh9nDpSvy2k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840086; 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=IilviUqqjzVWhgY9u/Hx8KtxRScZH2+N6NtXQO4Y+nI=; b=ffPuJ1qQD3Ctkx9O+QAwOmywLWwPiq5nAOYPW/1IqaIGUFeQfprseG8fDD2OZTEnjx9qkMe5PfjhxHUNZCcmH4dIoo4yXRtp1Uz/TqJ4lUXWT5gtjK0a/6tAHPy4qFJo2wKjYoM0R9KjUzaPBJXVTdeT/mSvXKx0MkvScbQaY60= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840086884395.47345977981206; Thu, 27 Aug 2026 07:14:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzasB-0003Qw-Ia; Thu, 27 Aug 2026 10:14:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzas7-00039G-Dl for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:27 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzas0-0005yq-4A for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:26 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-189-JqyqpZ-jNPWRayfAEGC2OA-1; Thu, 27 Aug 2026 10:14:18 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-482e5323310so1547397f8f.3 for ; Thu, 27 Aug 2026 07:14:17 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b40ccb345sm39195615e9.2.2026.08.27.07.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IilviUqqjzVWhgY9u/Hx8KtxRScZH2+N6NtXQO4Y+nI=; b=dG6GUg7Z6VNPvlAF2UspZlhFKwOYBw/vWg6N2qQFkRgr0beBJhjM6/lsiWIbb5OAKUxWPI LEGPHR73jgp4mzs2UeKxI6Ahe9FIREZYeu/3yKJzw1Q+KEEHlnq6SbpJxU+yzyymuFM+mn T5XGAnfn1HpKR5v2cv0qPy75X1nhObQ= X-MC-Unique: JqyqpZ-jNPWRayfAEGC2OA-1 X-Mimecast-MFC-AGG-ID: JqyqpZ-jNPWRayfAEGC2OA_1787840057 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840057; x=1788444857; 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:content-type; bh=IilviUqqjzVWhgY9u/Hx8KtxRScZH2+N6NtXQO4Y+nI=; b=g/3GLBW5APlLSJNJexSqTxZKO20MuacPE7gjAL4K3Wyw3z940Kpdq13enap+cmmryf kInP4C7TuHeSnlaCn9ol+LDaOw9RDTCv65UIUz34ZZuBrU3y7zictPc+djjG06FEmckM 7uhRFa/yBURXk4SyEivOsWfdFXVWRukidIQLn1E6kPDRzLBemmtLx8hUuiQRQz+XVzSC LwLZHuJPKft+nOmXepM0Y4j907sfJ+WPMPYulM5p4IFPWBxJ9NEWWsRLqnWb5rEeqoQk wkG5KM6oPxHT2H5y6PHra4MpANjx/u/ikZErufIeoY24Mx889PC0AR4Vs0eYqxdolTzJ Y01w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840057; x=1788444857; 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:content-type; bh=IilviUqqjzVWhgY9u/Hx8KtxRScZH2+N6NtXQO4Y+nI=; b=Eyq2YP6giQrOME3OAVeQiQaC+pt8uqklRDQGHVQZoeLHgu09Kb4aKcGo/3st2sYU2F 7RZN2Bs7oNAQZsogH9+Z97OCtShYXdDKyKIcb3Aemkh5QZPUuDsZSyetvMIyvJv0q2wM PNKYPaA/k8dvLTzmChh/fsOBErUWbIWvGz+3WcQyy5EBFswV1UVpS/Zp2CafItYY83Gs vX9uj/dq+h0yKEQdzbFoim1JsTpAIdBiUqmpW8/DS8W9BAW4R2bIz6ayxh7o8XdErNSD 1rUGoR5CTEdauYQwg/a/R1rMTyj483SULtxjkR4UoZpN+iJfrbBxmIs6tj61inpCjRZr tK4Q== X-Gm-Message-State: AFuF++k1Yo9Hua+fYope7Q4P5ucTmTTRw/FxMoSg96nnSQwXb11TS+SW FT33HyGwJu3CXE5ccUYxBOcgwuAc7qnUDJ64hytIG3Uv7LKiSMTUGNjUNOBmJErGBSYttPvqz24 9upzq+JwjtpSyIYjOhLfv44NgD6t+/bb7Xzzn6OxvqPey56J8Z1Eovm2vWy4Dph2YWz6yK3kNQq A0uvFPKXU7a1nwswQ0QvW1ah03sD4qXn/EFw14gmTy X-Gm-Gg: AR+sD10WoH03O/S4b+N2P5w9hACedZDLlhIUO3w7SnGCftsR2ennDu8wZPuMsidFqna rJ1Wf4BzaRYBcP2GuhsU8piIwF6ChBk7KC9BNHqUN6b7g9u/noy0qMmj5VEAEAr2Qy6haNz7T+n 5eLhZLmZkixHiSstQgXjq9NS+TWyNtKusoG2K4AwdIs+dpbxkIdkmAjZ7G9XmWePfYhyaOS204w B8d3dWrzpVYgQTIR3uLGm1xwGmqi5LrFajkrZuXBYpPuMeJRWOynxoOn1YqvngjUnXvQO1UH665 lhoNlYWx92oXup/k944BeCdxurtTjW1MAv4frBvqmmN+Ql/5C+hhomHvbgSOTcCVCZkFReyd3k1 Y5ov5l5CdFfdBnADrGiEl6ono5MY8vsl32UpJku0iThyqRYes5cY1+tOxCoW3CJl2QtzTMHMO6E sg6UQ= X-Received: by 2002:a05:600c:1393:b0:495:48d7:f178 with SMTP id 5b1f17b1804b1-499dc7253d8mr190065875e9.11.1787840056717; Thu, 27 Aug 2026 07:14:16 -0700 (PDT) X-Received: by 2002:a05:600c:1393:b0:495:48d7:f178 with SMTP id 5b1f17b1804b1-499dc7253d8mr190064115e9.11.1787840056176; Thu, 27 Aug 2026 07:14:16 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, Stefan Hajnoczi Subject: [PULL 21/23] scsi: hide MODE SELECT block size change behind a quirk Date: Thu, 27 Aug 2026 16:13:09 +0200 Message-ID: <20260827141314.1099352-22-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840089071158500 Content-Type: text/plain; charset="utf-8" This is a dangerous operation in that the block size is not protected by a lock, but it can be written concurrently if you have a multi-queue virtio-scsi HBA. Put it behind a quirk that is only enabled by the Q800 machine, since the MODE SELECT feature was added for A/UX. Cc: qemu-stable@nongnu.org Reviewed-by: Stefan Hajnoczi Signed-off-by: Paolo Bonzini --- include/hw/scsi/scsi.h | 1 + hw/m68k/q800.c | 2 ++ hw/scsi/scsi-disk.c | 12 ++++++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index c60c6e8810e..3eab339b0d2 100644 --- a/include/hw/scsi/scsi.h +++ b/include/hw/scsi/scsi.h @@ -262,5 +262,6 @@ bool scsi_generic_pr_state_preempt(SCSIDevice *s, Error= **errp); #define SCSI_DISK_QUIRK_MODE_SENSE_ROM_USE_DBD 1 #define SCSI_DISK_QUIRK_MODE_PAGE_VENDOR_SPECIFIC_APPLE 2 #define SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED 3 +#define SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE 4 =20 #endif diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index ab64250c47c..1ad3f93b294 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -710,12 +710,14 @@ static void q800_init(Object *obj) =20 static GlobalProperty hw_compat_q800[] =3D { { "scsi-hd", "quirk_mode_page_vendor_specific_apple", "on" }, + { "scsi-hd", "quirk_mode_page_set_block_size", "on" }, { "scsi-hd", "vendor", " SEAGATE" }, { "scsi-hd", "product", " ST225N" }, { "scsi-hd", "ver", "1.0 " }, { "scsi-cd", "quirk_mode_page_apple_vendor", "on" }, { "scsi-cd", "quirk_mode_sense_rom_use_dbd", "on" }, { "scsi-cd", "quirk_mode_page_vendor_specific_apple", "on" }, + { "scsi-cd", "quirk_mode_page_set_block_size", "on" }, { "scsi-cd", "quirk_mode_page_truncated", "on" }, { "scsi-cd", "vendor", "MATSHITA" }, { "scsi-cd", "product", "CD-ROM CR-8005" }, diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index 5bb7a974d69..a42f7d8e77d 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -1673,8 +1673,12 @@ static void scsi_disk_emulate_mode_select(SCSIDiskRe= q *r, uint8_t *inbuf) goto invalid_param; } =20 - /* Allow changing the block size */ - if (bd_len) { + /* + * Allow changing the block size only if the quirk is enabled for it. + * Writing s->qdev.blocksize is not thread safe! + */ + if (bd_len && (s->quirks & + (1 << SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE))) { bs =3D p[5] << 16 | p[6] << 8 | p[7]; =20 /* @@ -3247,6 +3251,8 @@ static const Property scsi_hd_properties[] =3D { DEFINE_PROP_BIT("quirk_mode_page_vendor_specific_apple", SCSIDiskState, quirks, SCSI_DISK_QUIRK_MODE_PAGE_VENDOR_SPECIFIC_APPL= E, 0), + DEFINE_PROP_BIT("quirk_mode_page_set_block_size", SCSIDiskState, + quirks, SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE, 0), DEFINE_BLOCK_CHS_PROPERTIES(SCSIDiskState, qdev.conf), }; =20 @@ -3352,6 +3358,8 @@ static const Property scsi_cd_properties[] =3D { 0), DEFINE_PROP_BIT("quirk_mode_page_truncated", SCSIDiskState, quirks, SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED, 0), + DEFINE_PROP_BIT("quirk_mode_page_set_block_size", SCSIDiskState, + quirks, SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE, 0), }; =20 static void scsi_cd_class_initfn(ObjectClass *klass, const void *data) --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840220; cv=none; d=zohomail.com; s=zohoarc; b=DPKUmq2IKVzQDrqHwVtPSr6YR8sXihKUMUYCUwXCXOLvAyw4A6yEVwXAhKquh7jfEssVgVn6HYfFbfgdtXh+mYikubKzsNvFbHaaqYv9AWmcLx73RmX4Kk/Eposrt4Zg/vN94Ehypodz2NaKfXhwJcZIDCh6ip03CBaZue7CKzw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840220; 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=9vcqu0cEIG7651x+/pR2XIM1uoxAS0eAsApwoR2HcxM=; b=AUi9pqMCBXI/HRdfj/FDOYJDP+s2JdoGTUW7XKdoZXwj5Q3MmYMbD6NI3XYnhpSw7ii1mHBFWSvg9BT8wWCSvxopZjs3RWGXSvhG/qPrFW8zBDE9JD24mfozvrxHdtx+HHDxW3ZtWVYv7UuuRtTqy2DltD0Cx06OuaSCyAf88mE= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840220337466.1475029623696; Thu, 27 Aug 2026 07:17:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzasQ-0004Le-2x; Thu, 27 Aug 2026 10:14:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzasM-00049T-6S for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzasE-00067O-U0 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:41 -0400 Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-249-HGVldTpRPdGYGau6jqL-sg-1; Thu, 27 Aug 2026 10:14:31 -0400 Received: by mail-ed1-f70.google.com with SMTP id 4fb4d7f45d1cf-6a5d682e372so974650a12.0 for ; Thu, 27 Aug 2026 07:14:31 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6a5de8b621fsm7186369a12.5.2026.08.27.07.14.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9vcqu0cEIG7651x+/pR2XIM1uoxAS0eAsApwoR2HcxM=; b=YVBfr8UQy8oqbkbOf007QZy25vrwcvIv2PXl2ioJt/yO9i5z8aVteIpd9bNw6d/IaVNeG5 ok5FaxcyQKwMxAtv7q8zhzbbyF02kbZ+zi28X18ou6qIH8trUB7BN+L1npztt9X8TKqPko I07ugW9vy88aU2LCpitzPH46ris+pKY= X-MC-Unique: HGVldTpRPdGYGau6jqL-sg-1 X-Mimecast-MFC-AGG-ID: HGVldTpRPdGYGau6jqL-sg_1787840071 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840070; x=1788444870; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=9vcqu0cEIG7651x+/pR2XIM1uoxAS0eAsApwoR2HcxM=; b=maBAPLwnWwtjhRW+IE51mkZzIIYzsOshe4+Qq2rY5pymsVvBHuN2WAF9RSydvpe/KU aa8uI/wi+xjtbmCrdGpAQTvK+NjxRq1FEc7L9iRp2GOVMM2hmNzNFRipqV+nblsGO1O6 fIS27aubVlTyemsWP2sZwYCrGOrxR2aKKcMORWjrm5fC8WeRjGNWRPPqZPlgKQsSH5qr yUPzimxRbsC7dxHXEunfFJ2QF229E5HGwW2m38D4osDaBB/S4wXin4ETVQMaZ/skj+eP LjWuWUsB2v6b7D/IByxZWMnJvM/9Tm9xAXnOLxOkrCgVharaeBSjZ2V/fZY3ZogvOOhx Fq8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840070; x=1788444870; h=content-transfer-encoding:content-type: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 :content-type; bh=9vcqu0cEIG7651x+/pR2XIM1uoxAS0eAsApwoR2HcxM=; b=CztpFNxvBN/BJ4hV7gzhNLl/NyuxwPHRRH1ZBv8DV1952aM3X9491Jtdj4y8qh5ijM T04dH1EEi7jUD+fzlMsmkDcAsSCdN88AJuDT/h94bqSrOr6QBBjWvploPPi+V6k1EWHI APinGGcGBQjWBNhpHxvqGhPmNRzjSPwBT/dTh8edpAXlFbZ2eFgeZxkbmtsU3OduzmEn FTor1rPx24y+NbHsJTAC3k7O2UzNiGXZj61kHgihsKs+xhrUxDryYE4EPafsEXeyjoGs 8TmzyudgACYhvfuk6SUOWUj3gInISmJSqLUi1eNTmqtUvWZQ1zQb6j6XdllVZ84kKx8c Ef2g== X-Gm-Message-State: AFuF++k7PgeE/8+Kj6A9BlPTSWKZqwgbR8xDR8WYGy0Bo7GBIsaZIFov uaPM4596F9/mq1yok8d+hvEXOs03DUVsoh3Fm/FYMSzPXqZtYXLITOwnn4vSduKnfW5HKxswdpd Iypp2ZiBwH5A/W0XoUBwXW3dnURbuhFMmwayQlNvDNvQz97+xRkKwF3YPCykom6od8zwcW/CdPn C6kl17CRQYyo1tq2FKIRsyvsrrsegG1S+C0Yaij4Vh X-Gm-Gg: AR+sD10ySbs2zlSsDERTm2/+iz35wt7kugMOHM6zBe+odsctq6HWgId5764JPOlRaq+ YzJDlm3src1RoaRDxQJGv29KUY2mugZtpujTt08GcALelHVY4ejyPsRFDAP8f/GZ/8fTbqwuauM R4JgoKlc0ZtZKDEJqsQ8pqVNRPknzwUMLgJpaHtXsI5eSP2G6wFqUnhtXPJqxPiCMatgYxXZDhe YRdTST5s9//rcBYzyN/QghJmsLLOEoUXzs53olI6SK3a3tdpb2+8tf1hbBKnq4YtsFWRwPwwLGl 0F34GJ+dmdJOZpr+j4fKyNHCGPC0olXVT2i+mT0/b5mXVGRC/e3KAYUr9L7JNxwUAy+JTuyEy3K fI7OShrhqP0FRnS/B4940LwjBpEfCoQb7iHkczku9DGkJbPu3T1Ee4fiiqa0ThVvrHQyj2MSdPC YyBnE= X-Received: by 2002:a05:6402:a18b:b0:6a1:f3b5:f7dc with SMTP id 4fb4d7f45d1cf-6a5f4f0d63dmr4055539a12.4.1787840070613; Thu, 27 Aug 2026 07:14:30 -0700 (PDT) X-Received: by 2002:a05:6402:a18b:b0:6a1:f3b5:f7dc with SMTP id 4fb4d7f45d1cf-6a5f4f0d63dmr4055485a12.4.1787840070119; Thu, 27 Aug 2026 07:14:30 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 22/23] vapic: confine the VAPIC region to 0xc0000..0xe0000 Date: Thu, 27 Aug 2026 16:13:10 +0200 Message-ID: <20260827141314.1099352-23-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840222146158500 The VAPIC region is mapped as writable RAM, at very high priority, above existing memory. If the guest is allowed to map it everywhere, it can overlap PCI BARs or even SMRAM. Ensure that the whole region first in the 128K of low memory that are reserved to option ROMs. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4206 Reported-by: Artem Dinaburg Cc: qemu-stable@nongnu.org Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Paolo Bonzini --- hw/i386/vapic.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/hw/i386/vapic.c b/hw/i386/vapic.c index 8dd9188d96f..9adce172621 100644 --- a/hw/i386/vapic.c +++ b/hw/i386/vapic.c @@ -34,6 +34,10 @@ #define ROM_BLOCK_SIZE 512 #define ROM_BLOCK_MASK (~(ROM_BLOCK_SIZE - 1)) =20 +/* Option ROM window on PC/Q35 machines; the vapic ROM must live in here. = */ +#define OPTION_ROM_START 0xc0000 +#define OPTION_ROM_END 0xe0000 + typedef enum VAPICMode { VAPIC_INACTIVE =3D 0, VAPIC_ACTIVE =3D 1, @@ -592,6 +596,14 @@ static int vapic_map_rom_writable(VAPICROMState *s) size_t rom_size; uint8_t *ram; =20 + /* + * The VAPIC region should be mapped in place, refuse mapping it + * outside of the option ROM window. + */ + if (rom_paddr < OPTION_ROM_START || rom_paddr >=3D OPTION_ROM_END) { + return -1; + } + if (s->rom_mapped_writable) { memory_region_del_subregion(mr, &s->rom); object_unparent(OBJECT(&s->rom)); @@ -606,9 +618,10 @@ static int vapic_map_rom_writable(VAPICROMState *s) } ram =3D memory_region_get_ram_ptr(section.mr); rom_size =3D ram[rom_paddr + 2] * ROM_BLOCK_SIZE; - if (rom_size =3D=3D 0) { + if (rom_size =3D=3D 0 || rom_size > OPTION_ROM_END - rom_paddr) { return -1; } + s->rom_size =3D rom_size; =20 /* We need to round to avoid creating subpages @@ -616,6 +629,7 @@ static int vapic_map_rom_writable(VAPICROMState *s) rom_size +=3D rom_paddr & ~TARGET_PAGE_MASK; rom_paddr &=3D TARGET_PAGE_MASK; rom_size =3D TARGET_PAGE_ALIGN(rom_size); + assert(rom_paddr >=3D OPTION_ROM_START && rom_paddr + rom_size <=3D OP= TION_ROM_END); =20 memory_region_init_alias(&s->rom, OBJECT(s), "kvmvapic-rom", section.m= r, rom_paddr, rom_size); --=20 2.55.0 From nobody Sat Sep 26 21:37:18 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1787840281; cv=none; d=zohomail.com; s=zohoarc; b=d18oGRAXCkCRr58R6SVprMns8inqgvd+0qY9DReX+desuA08oHx9xKAIF0Zg70EXyyrEIMYsa1Gz+IQOb7NIldYPSo3TbZyIjFoeOyPhUtDk+5yQTTZtDGgR1qfILKNSz/BrzH2FaOP4FpvMpf7TYMJ+povm1lmp09vwz+6k8PA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787840281; 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=8K1XNZx8pAwhOsPmaAvHPY7r0/0nTtUBbCf52x0tFMk=; b=N+yVVg2t6VtnnBWp+IPTZqOfcVqrV0r1f166yg1DMEwJ+LhLHDU/+w99mTKnnyWBCaj+WGKza6MKFiNuSILwtpSM2eAnJoB3Sl88wyyoZYWHB1wwmZNWAlk9qhP1e885o+GV/6Xp6vgXK8Z9ELbyRgWNUpX+HGgsepdFSbCHzjs= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787840281974743.8308078989288; Thu, 27 Aug 2026 07:18:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzasQ-0004Lr-3r; Thu, 27 Aug 2026 10:14:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzasM-00049k-7Y for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzasG-00068H-G0 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 10:14:41 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-664-ecyWpmbTO_2t8BZ3w4qBsA-1; Thu, 27 Aug 2026 10:14:34 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-482f2b8a116so507163f8f.1 for ; Thu, 27 Aug 2026 07:14:34 -0700 (PDT) Received: from [192.168.10.48] ([151.95.151.49]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49b4ddf5023sm50170215e9.13.2026.08.27.07.14.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 07:14:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787840075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8K1XNZx8pAwhOsPmaAvHPY7r0/0nTtUBbCf52x0tFMk=; b=QXookmiV9m2kjEbM1thdscYdBv9gOml1CtHFY6NvgsLsyG1sDwwusLHcZgk6IChjLTfkrp XgIbWRGo5Rjs1BGTkvYyl/Ly/xuF17Tu2aLz0k2PgeGGmru6vrLdyr3Nd45UBwDe9G6LCJ 7RlTr63+Okq1H4vRVC9mjbs5yM8X38o= X-MC-Unique: ecyWpmbTO_2t8BZ3w4qBsA-1 X-Mimecast-MFC-AGG-ID: ecyWpmbTO_2t8BZ3w4qBsA_1787840073 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787840073; x=1788444873; 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:content-type; bh=8K1XNZx8pAwhOsPmaAvHPY7r0/0nTtUBbCf52x0tFMk=; b=gui1b5CudZG69CSUhTeV7RWKyxNXMXwzRT2FqC8eIVacqm22zHqkuw9R83PYwjZSKW zOEPPRmpYL5HwdbUK4jP4QHdBqdIEVel/uRXoEHtTEnMCZ+U3hp8CKWI5jdKtO2pIehj 6WhJUIOsHAnEETjBz0x4g15sFAhG4QCN4LSijQvc8Pl5cyBvXm1VFoZtwNUhIefEk4tV tOuI9E/YwA9dd51FHoN8H+eMBfHFN+pRe5+9KSISNAHYuERx5IKx7shwoowCRd2MZwd6 F5mkCV7Kt4V9dzG5U0e5i77vhkrkFPUpQf65Q+MuHsYMeeWlQCSKegdQdPiqTaJSj2+f sn6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787840073; x=1788444873; 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:content-type; bh=8K1XNZx8pAwhOsPmaAvHPY7r0/0nTtUBbCf52x0tFMk=; b=JXPofe+cAs1J/mJaZsrAt3UNhZpaojYIBxWqti72o5b9DfkjbaDJm194gqB7W0XfBi uQqvS4zejOTdjZlXEhc4B2h1sbk/0EqwvL4ieSg0Z6mVzFbUz0h5xe/Oz4mmvApYFeRq uguX6N5j2w5F9Q2OZ8StDELzzvedHwZyssfw9cjfIcYQBQtPvx6CEk9dh5XWnnp1CM2t 6lpwOORCD7t6TQRK2zgj9GmlY2PZe8r9wH6QpNIxa6Gpj2HCOpkxDTSbvRoF+zJbLBHJ u0CingBXV1XTTQ/UbJ0v7QqRVKGZMfic0JmhEq3xCgJuT7C0SZiRWhf6nDCGq/FNa6LR Y6Rg== X-Gm-Message-State: AFuF++k585Yr6Js+q+atu3cWqy2fwfQfU3jRZCrIE5z+h7qX9P1jTmY4 TygwgSZii9fj7Vkg6PB2/O1Cvg24qfLbXH1+jc0/Z2fea1f7LUQKGmZf+4WKKZGQSPHV+7+kjd4 bw0Z0AKj77/MGV3GukjJ+1Ta+EbDkYuesLpfzqpC3MZsEMwmYlo5ybjFnhSGtyoAkTdNp6cPG23 NIKzjEk8y6+CfxOWIRNL1u7nvywcPMei/V/CxLBidK X-Gm-Gg: AR+sD131vAbch2W9Kx9ZA2TFWYhE8O6Z8v4qyuH0fs1HUnhreYdkNblcwKFw521cU9a bMoy6+1TTJNxsR82+rpkhaoTrXOsWMZq1iB/uuwuPOHSgBK9q3QAeMLs2JK49bgqfAvnMEPgbJr ekVg0k/2355OLbV6X11xhnAac3UIo8dfjsimbneCK5Z8glREebuf7rx3QL85fxbCQToS/PUBjxo WjBXMdDVcvgvAL1gH2UErtLNsoKfbPnlzUQxjRy1apXpyrarrXH4F/mNSrp9HPezS68otUSz8lo 53bMULjltY3cJbTStoGqId/dlq+Ezpso0Z7EkR2CjnpfWQoyB1dAW80WKGeJKa4F4X/tBcONp3q 577CYqTQpBMellxqnCKNUBPYvY9txpRjoMlZN5RgdBrnbo/tHjJR2uLTiAKSPcJbyccfrm1I7td dZ/c0= X-Received: by 2002:a05:600c:3b03:b0:499:8704:242c with SMTP id 5b1f17b1804b1-499dc6a37famr175883385e9.0.1787840072994; Thu, 27 Aug 2026 07:14:32 -0700 (PDT) X-Received: by 2002:a05:600c:3b03:b0:499:8704:242c with SMTP id 5b1f17b1804b1-499dc6a37famr175882195e9.0.1787840072437; Thu, 27 Aug 2026 07:14:32 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org Subject: [PULL 23/23] i386/vapic: unref MemoryRegion if vapic_map_rom_writable fails Date: Thu, 27 Aug 2026 16:13:11 +0200 Message-ID: <20260827141314.1099352-24-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260827141314.1099352-1-pbonzini@redhat.com> References: <20260827141314.1099352-1-pbonzini@redhat.com> 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1787840282564158500 Content-Type: text/plain; charset="utf-8" memory_region_find returns the memory region with an elevated reference count. Drop the reference count also if the memory region cannot be mapped writable. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini --- hw/i386/vapic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/i386/vapic.c b/hw/i386/vapic.c index 9adce172621..5c3911cf9c8 100644 --- a/hw/i386/vapic.c +++ b/hw/i386/vapic.c @@ -614,11 +614,13 @@ static int vapic_map_rom_writable(VAPICROMState *s) =20 /* read ROM size from RAM region */ if (rom_paddr + 2 >=3D memory_region_size(section.mr)) { + memory_region_unref(section.mr); return -1; } ram =3D memory_region_get_ram_ptr(section.mr); rom_size =3D ram[rom_paddr + 2] * ROM_BLOCK_SIZE; if (rom_size =3D=3D 0 || rom_size > OPTION_ROM_END - rom_paddr) { + memory_region_unref(section.mr); return -1; } =20 --=20 2.55.0