From nobody Sat May 30 19:22:56 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=1777540055; cv=none; d=zohomail.com; s=zohoarc; b=Od/ilYozXn4WfWccoVAAWEyOn41UMfK2hF07V5UfDqcDx4HVQ7UmRItlC0sheYqAbqBSg7XedJhrKyHH8uZfDXffYCYuHZ489IwruOwj+gsQpv7GveD6ecH2QckYvH7xE5NfSxu1GwoNF1kQOquoOq/jzVd6ZvxepHPw88XMbTo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540055; 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=yfcyTqIaypT6u/cAzOJ2kWQ6yhou6GkVVh5K6/RaBgQ=; b=Vjq38fJzwnr178jQYuBYd6OcxvHWVtiVWbYsb5+topDCwrylWji4cw+9AdyU9W+7dyhjt4w5aZr1bDad2nJUbfy/7/GBD3Y1RPXpTnysT0lavYD8dqTHkW0VITDtI3qZcCFv0C3qiI9dEM/y7BS3AbDW7S1GRw1Tqw2ttyH3EjM= 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 1777540055516440.9791622975266; Thu, 30 Apr 2026 02:07:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLA-0007tw-8o; Thu, 30 Apr 2026 05:05: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 1wINL7-0007rB-KD for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:45 -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 1wINL5-00032v-Ak for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:45 -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-416-MuaE6Zd6MziTRZc1NfFI9Q-1; Thu, 30 Apr 2026 05:05:40 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488e097a270so4675645e9.1 for ; Thu, 30 Apr 2026 02:05:40 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c3058f6sm37268795e9.17.2026.04.30.02.05.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539941; 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=yfcyTqIaypT6u/cAzOJ2kWQ6yhou6GkVVh5K6/RaBgQ=; b=eBiK5+4aib6UT0kSfNJn/NSP0r5xSzZZii6qjuNtc+skm0jmLDKae8qcRzBBnoihlqEDDt GiWszIBLVKJkwJ4XvUZUfrWLfMiY+R38xGnqAIiSKQBFWZCQOMSKTG/BFLtcraOf3vacyu F7eIHGmsIkNcmA7jO4O3eMUWR/yogY4= X-MC-Unique: MuaE6Zd6MziTRZc1NfFI9Q-1 X-Mimecast-MFC-AGG-ID: MuaE6Zd6MziTRZc1NfFI9Q_1777539939 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539938; x=1778144738; 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; bh=yfcyTqIaypT6u/cAzOJ2kWQ6yhou6GkVVh5K6/RaBgQ=; b=LRXc2EL9ap2GEwV/OUwfoYxRdzeFupF92/+6iJ2j3YE2RsWwciWO1B10rlOtbPYkRg +acnIhD0xen+AQ6svykXnZ5kKqy6mJDFw6MaxqETv6CAwwd5eto/aHtx6TtOCnhqCHME X+lwOcl+r1JNrZPlvfW1/NBz91253VBC+o/jIkdcGaZaX2VRHAz62EMVEzr1g9nt3rW0 GmiD/yUI71w+V//9U2icSIS1FKIfhRYDmkkCoAmI3xnTbunLeTnNLWslyYuFT0isVR3X ODgxBSuhfL5FYxa6OJ7eP2uqNIb2Sd3xcW07U3+fI6yLu+pCiRaLbMyDxscfCR6qMWgX urlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539938; x=1778144738; 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; bh=yfcyTqIaypT6u/cAzOJ2kWQ6yhou6GkVVh5K6/RaBgQ=; b=KuF4+kcq4kxBDfi3U9KVQs9eM7W8WXOO10QBqybZI/LV56eq4v09sRd7eQNzDii047 1sEVfCo0xlqS2A9AkJkFp2jmpWMUSQ6DURJb/XHik80NoowFA84X627SWD5g/GMZpKuN ap1ISGewua/OW1Rg9giHWNAHCUXZvEBvNrOPipuk4WRanOi6cwBo4TCAaC+UtIPjJ8TG vU5EY+Qu25ORxNTuHYFhLtpe4LDuLtRQvo8TKvfyFztMQ/OXtgTyNRSVJRT+35ejYeNS CwtZjeXNtyjnWoZPtAkOgDtyjDYQDHafYvRZdXYTZIE7gHyt3ZQKyf98oYhQxFqxKL3/ ZSEg== X-Gm-Message-State: AOJu0YySh8R8Ka7NPlUAO53mdiX+/Nyytco5dbjermznywWikApcwwLY mrSwnz2YndcTKsuU/3bI/sJt40Hc3f+44qGJzA2JTPcpguK+rJSXDZnLsDgRbyUKC2k0Cww3+3F F7UU2nmYt7PcJgLx/t54Itbyfp9fGqtz7H0NW14fA84knqkqfQDugv7ZtKjTVf/HlZ48iGgKDkc OKG8jMTD0GcmjmYp0vqHfFPpQsJ9bxs6f8on8OO5GM X-Gm-Gg: AeBDietdPy8W4q8UIVGXUrJECxe4US9wwQlsO/Gj9tPAHtk7sVlksgWfed2KPbvqxRz by8k2UoGLQt+gD6CrHfBbm9hoI6156NeP5HDi93Azldpq7ycHwJvv8Iz++GFDC9MqEaaCuwRILi OplfQxUtsUwDXfDpkVz/NXTRfqIA3EqiOGWbot7/ZwxuTDgafngpStpChD1067SnrjAOv8CFi+3 lDL1hDFw+rNTJHYfC24rtEnqWk9f+P+RuBzF0UASdOg0/PPF87MjnN8KU5NWVxmkov682aWn8N7 VPIEBdwgrWgrRSjexT0EltAC8TbxjZLRnom076Sncv228KpGLoPUXD++nwo8Bcr3Gk5BNznVypI H4aWiX7kL8xj//oDsqte6OVNi5dInXAwp/LD6KqtVpLNB/3jvNMoFLuq+bygN8D3H3lTxYWyytk tHv4+o4TEwF5MuxbZygBD0K4W9PhjHZmWoKJY= X-Received: by 2002:a05:600c:1e8b:b0:485:35d3:ce59 with SMTP id 5b1f17b1804b1-48a83e721d1mr34860075e9.10.1777539938290; Thu, 30 Apr 2026 02:05:38 -0700 (PDT) X-Received: by 2002:a05:600c:1e8b:b0:485:35d3:ce59 with SMTP id 5b1f17b1804b1-48a83e721d1mr34859215e9.10.1777539937673; Thu, 30 Apr 2026 02:05:37 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 01/13] kconfig: remove duplicate declaration of CONFIG_CXL Date: Thu, 30 Apr 2026 11:05:22 +0200 Message-ID: <20260430090534.841894-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777540057454158502 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/Kconfig | 1 - hw/cxl/Kconfig | 3 --- 2 files changed, 4 deletions(-) delete mode 100644 hw/cxl/Kconfig diff --git a/hw/Kconfig b/hw/Kconfig index b3ed092f7a8..c109f5537b2 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -6,7 +6,6 @@ source audio/Kconfig source block/Kconfig source char/Kconfig source core/Kconfig -source cxl/Kconfig source display/Kconfig source dma/Kconfig source fsi/Kconfig diff --git a/hw/cxl/Kconfig b/hw/cxl/Kconfig deleted file mode 100644 index 8e67519b161..00000000000 --- a/hw/cxl/Kconfig +++ /dev/null @@ -1,3 +0,0 @@ -config CXL - bool - default y if PCI_EXPRESS --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540031; cv=none; d=zohomail.com; s=zohoarc; b=I3IHeI79/uGpnSZf/+4SJ1PWQDcSWEs4K06XU2VeCxjgBV1IaUzO/FR46/caypzKFZKjmLhSpL7yYub9VNwl/5a3t8T/849M/aMARybxXjsrt5a03f7/O5VLkAFwYeoANAJHN/3erOGiB6GQwsrukzeQxS4uH/QB3ovCf1Si7No= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540031; 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=8tWB5F0bYTaQowlCBeZFX4HdZMIoRt4fdHlhmAVL0Yw=; b=J3vAVqTah1Kr0Cg69WwaULLEC8+EHMCRRPMipECMdMCE8QZU1HohFr0F74i0pl3AMBmXOauckEdBbC7FcQVpWNuZBz3rg4cL4SCRXJ8MMWZlLX/MqjVt5tZ0gdnbLhSH3Ea7LkbQRCr1GDzC70ICp6syEVMfK5TPxLIOa0haqdQ= 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 1777540031158448.7001714824312; Thu, 30 Apr 2026 02:07:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLA-0007tv-7y; Thu, 30 Apr 2026 05:05: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 1wINL8-0007rY-Iq for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:46 -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 1wINL7-00034y-2y for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:46 -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-354-FpNo07XaNcCWia-G0viNLQ-1; Thu, 30 Apr 2026 05:05:42 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-488c2cc0cbaso6460175e9.3 for ; Thu, 30 Apr 2026 02:05:42 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-447b7ca5fe6sm12051696f8f.32.2026.04.30.02.05.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539944; 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=8tWB5F0bYTaQowlCBeZFX4HdZMIoRt4fdHlhmAVL0Yw=; b=AK8owSDtGC4g9DuBE/I8VRe3c9NK4NeE+j//ZUuyJ2xzNYijTpdV/tL8KzCVMctTPhB4nN VvKoT2u4RI5W9A2YfAz4uTxpWUK83pV1B1CZ15SXJ7sERAyUzFzBilPc0fb2u5tXoh6RsB AeJLtwXojlKM7yUk39aHv1F2BadCzVc= X-MC-Unique: FpNo07XaNcCWia-G0viNLQ-1 X-Mimecast-MFC-AGG-ID: FpNo07XaNcCWia-G0viNLQ_1777539941 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539941; x=1778144741; 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; bh=8tWB5F0bYTaQowlCBeZFX4HdZMIoRt4fdHlhmAVL0Yw=; b=INyA56/hJ5+DszHIaBPcqlM0FiUhMM5H9u/Metyb74NGeKI9htH6PVzXNXhdNvX9Ub 8+Idj2WjM3bFvR6FeiP21LgpHAgk06+IfU4XRtcne9TyUzFehRrUSZyL0K7LS8GiN0tn CPDaFC4Q1CTKli5XlLcgklDyORB4bFaXZt/ncNxWq0CXMrFphw9bmvZwClJYfk75q1l9 n9ZEn6edr3IJdvierKakpCFyy41krCRuT78L1HEl6bbnMGm3z0bCv8Zu6u4CPUo17HWE O7+uS6o+C6DCYT5dzRL9sA9AJr3zU+R2VCt5iY67ntG7ATC7g0eYPnozOfecKT/gkVo+ aS7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539941; x=1778144741; 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; bh=8tWB5F0bYTaQowlCBeZFX4HdZMIoRt4fdHlhmAVL0Yw=; b=qgShhiOG+kKNlKXGwXNqCcK1xYWspEB0SD29KvtcthIrjMYMSzKWh3APe+ZBZ8ofF5 WPeSy3I631dM/wdOqNOi7NKlQu1VIUuJXqDwyyDmZBYef9RWqHyuuynt6YbcFwfbC7/U ip6iBs2EHdx+7Is8FoijxaJxZ4lhnSF1OBoOJZkeefoJAwy/Lawbj/3qsZtUYer0GH75 kBizAA4hkHZCuTGo85EENfnRbhgy0WbRSqwIp12NiVhbU5SaiV8UWp8/CNsnYw0MpZuH LfmFedBVivIQjKDPE3Ccas1rTv2H0fmweWl5C/sEsLrBBjrlaFF1WvKmi8Tz9u2+qb/q 3mpg== X-Gm-Message-State: AOJu0YxWmhNlJz2+CLW7JtDTo+K08mlvPXCqdUK3jI4I/AlfD4GroZD6 fo0kFe8xPPAfP0aWkGEPtO4klYu7BUR7FwJV1ZTSQrV5DCA87nHSchE+d6kG/xotwy5RDCwVR5c foc0ODAW9aGCEL1112ZvwA81BafFwfyLVE575OQHh3fOzDD4Hfkq+Zf77zpKUXtPwYdiWwwztO4 YJFRlBtvWpCg4q+JtJpcp2EYqFXLmGY69HMPrvN+wY X-Gm-Gg: AeBDieuXiJQqOyVzujBIMUsAvRgsqVDljgtS1Iuc4UklHAbwXBmpJAFW5YyxTGG0JYO RVP17OVSDwolBJedaC3w2FgMSY5Dh4iCFj+9FE4pSkEE8tvhw4hb1+XpPTOzcO9CHJF2xp873hw DHXvYgQKdp5xEm00A++ic1xWb5Dzh4we38eX6j9jlysDDS7HURUKVQBwn/tDq36TEPPYfwCPKwI c4rYYTbjzoyjTIHIkRBnjhG7ggRikwX/LqluIQS+c0y9sqZHvN6WysitNEu8aRSMAAcNl88e9MT TKyrWEX8LuisfC7n8s+0dmUrIWcZU0oa0Hx3qpib1POxfYJjJaQpkzC4vjefqryZ4iLqgbaeMvl wJRr2HEzd+ZNRMXd0XRjEhRwQW1MD/x7Ssoms838d5kTPTTg6NqY34HdBUWlHS5WQSzJ03Gi4B+ QmE87L0X5RInMDBeqXa0Bu0nPi6x41cyL4KLM= X-Received: by 2002:a05:600c:8b0d:b0:489:e696:8362 with SMTP id 5b1f17b1804b1-48a8451d095mr33352475e9.13.1777539940575; Thu, 30 Apr 2026 02:05:40 -0700 (PDT) X-Received: by 2002:a05:600c:8b0d:b0:489:e696:8362 with SMTP id 5b1f17b1804b1-48a8451d095mr33351615e9.13.1777539939824; Thu, 30 Apr 2026 02:05:39 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 02/13] kconfig: remove duplicate declaration of CONFIG_MIPS_BOSTON_AIA Date: Thu, 30 Apr 2026 11:05:23 +0200 Message-ID: <20260430090534.841894-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777540033303154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Alistair Francis Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/Kconfig | 8 -------- hw/riscv/Kconfig | 4 ++++ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig index f4d49248c08..99bdf09219a 100644 --- a/hw/misc/Kconfig +++ b/hw/misc/Kconfig @@ -135,14 +135,6 @@ config RISCV_MIPS_CPC config RISCV_MIPS_CPS bool =20 -config MIPS_BOSTON_AIA - bool - default y - depends on RISCV64 - select RISCV_MIPS_CMGCR - select RISCV_MIPS_CPC - select RISCV_MIPS_CPS - config MPS2_FPGAIO bool select LED diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig index 0222c93f878..2518b04175f 100644 --- a/hw/riscv/Kconfig +++ b/hw/riscv/Kconfig @@ -132,5 +132,9 @@ config XIANGSHAN_KUNMINGHU config MIPS_BOSTON_AIA bool default y + depends on RISCV64 select PCI_EXPRESS select PCI_EXPRESS_XILINX + select RISCV_MIPS_CMGCR + select RISCV_MIPS_CPC + select RISCV_MIPS_CPS --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540014; cv=none; d=zohomail.com; s=zohoarc; b=LjxpHFPeuWdKO60GgRonpgSikp2Bq1iyfIMN/AajdwU3eJ8RzMB+r2fwOLDvGBrNVbMIwqtbmuwbJfBu5h5BrQWNsEEUVmK4GrFKOlTGzFJr/o8SDeb8sZK39o1pkZl6XJB/2YkhwZzzlEWgqQU8FX2+LDrLClB6Hf0gSu//E3M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540014; 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=0VfLYqMZyHqKeWJPdeYOSwKb4EQB5ql3jIF868ZoYDg=; b=GDXNA+Q8Te+55oufQnqSkx4bUA0li7xGViQfXwmA2Bl+sDNXvalwNFnaWrrDZUM/7uCZBt1BVdZl6MwgkIXIrcqWaoM9VUSDjy83SJ+agTDSCkzMbJiUob5vE2pWcceJeDHuXZ79/Nel1s8GVaak+h8gB0E+tAr026Bo0LSrXFI= 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 1777540014917801.8151502849415; Thu, 30 Apr 2026 02:06:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLC-0007wU-1A; Thu, 30 Apr 2026 05:05: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 1wINLA-0007u8-9k for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:48 -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 1wINL8-00035q-PT for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:47 -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-533-quKxCLF5P5Ct4UNNnl0Lng-1; Thu, 30 Apr 2026 05:05:44 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-488d2cd2674so5213525e9.0 for ; Thu, 30 Apr 2026 02:05:44 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a822bceeesm52245305e9.8.2026.04.30.02.05.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539945; 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=0VfLYqMZyHqKeWJPdeYOSwKb4EQB5ql3jIF868ZoYDg=; b=XTF/ZtPrJIWrKapuB7PhGGkK94pTnQwsrnqxoKXdbRz1Fv4VYLrawYHidLnMQBISfTnR1Z XfnxT+s89ba35yGijA50iyqC8uQCJm4a8l3v4fXKdj5gHTFE4DW1sCFqwRU90w9/U5Iyia tPWHT5ak9C0H/qtZVFMiBJhclKLmx+M= X-MC-Unique: quKxCLF5P5Ct4UNNnl0Lng-1 X-Mimecast-MFC-AGG-ID: quKxCLF5P5Ct4UNNnl0Lng_1777539943 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539942; x=1778144742; 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; bh=0VfLYqMZyHqKeWJPdeYOSwKb4EQB5ql3jIF868ZoYDg=; b=YqQIcUg2Nq0h5baqWBnZIg8dCJ+OVkHMvyMNjWxKXGxoBcFE5IosWrIYNPA3kOjOlC tkQ5ZJQnbRYcORFpwRUZKv0dzIaPZSzlE/sC36aO3rRRXBdDbBOWiLplr2e3TEQd5TdN NgtzJu410Z2ttZSNWTnbzdRLT0gJXZZoro6iQlNLKNBrk7eCnuqgIPmkrYcknEF+yFAr XGrwFEfZHMgoCfH6lS09wqRTz1FmiOd7NWUqIB68QocfsmJa0aTI7SPvbOaBhrmGzxgS PSQCCkxBt8b0p5+wmphzN0XubQ7Hl15KxMukm+2Dh3qV5voD/YfLaQcOPBekwNuUYWvq OW4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539942; x=1778144742; 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; bh=0VfLYqMZyHqKeWJPdeYOSwKb4EQB5ql3jIF868ZoYDg=; b=T064nXaT0RrzRGszP4uVyKf78zxtCieAolbpw7pKkizQ5cnbGPo4sZ7R7VE4ZUxpu6 zCJTTpxxdla5QnwI9kdG4YjRSqEtPx4Ylz/4fkuB9i4duJEyGQuKX7PCFb4CiijiZ3vy xldVS6QqfegIXKeddOTsmuBK2QLHnfZQr7xzY/fQi4tUyoVG+0vYXGxXfJz8/bNRmXYd n1MAyhwTE2AtAv/UnT/6Og3JJbu3XapinTEUIq+9cJvSd/SJ20QkIuAtrbn2s94uP384 J4l7RENNen06iIYedGjS8oKa/t1G597Ahc1KO38tzhuH7jYAsfkBECjUEVuc14+2byqh vWog== X-Gm-Message-State: AOJu0YwMg0O5wYHmG1rCzvMBzNvMA3tckA8urKErev/8+WEN3CVhi/sG luxqJWnCuXYdHXpoubeCRPinY/hRd+u8vcD6nWpWCt7/pu6mV48lIQQABJ0HJEzjOQ8ooQLeyX2 PJvL1+3x3ME7px9+Cn5zKhUcz29rivmn8fy9pz5QpduxFvtjCwE3DM+/oKL2IAzpN58O6HWViND +Tbpn8OApCjKej59o4BMOT8eKXjInGjVSHG2TXRMci X-Gm-Gg: AeBDietV5+L/l9BB52EWWoCVQF5nT/EAWapJ4YSfIZ4EqDvfp0YHodbIpK4EUkJiOV9 awnkWBn64QnHWRlhdaes4b8OJwNhk+xFwV4wZnY0koeGJykB2zrvcDDYi9SSXHxUrKaqirPqKlq 3jdFTkhCyfmnPmpReWsD73Y8pn1Z3zb6GWv09cUIpJcGzdhvBDssA8Xua221rvjLrl3hxfI0O1L Cqt2NEj6AXfrve6U6GkEYXRjq9fUupvxtC5o+FB/5MCR3ZfwQR2U8Ikfk2JrgG1+luEAnygtFA6 462MOnzRMnY2Q4w0vaKsLACtsnCHDtGhfTwuvpwV8H8PaGeX4Yi0j856TtHdk6m5Nmj00Uv7fYz MvKna7aP/I6c59ycPWLLQ3iVPbJulfRdL3uKQE/TPx0yLMHuVi0JbCrotcHsJVPITlnA7vYT75l 15yrF8LByVT+vEcagpH/xDaQveM+ma6pAf8rY= X-Received: by 2002:a05:600c:c049:b0:48a:5501:7995 with SMTP id 5b1f17b1804b1-48a8446db7emr24284385e9.18.1777539941887; Thu, 30 Apr 2026 02:05:41 -0700 (PDT) X-Received: by 2002:a05:600c:c049:b0:48a:5501:7995 with SMTP id 5b1f17b1804b1-48a8446db7emr24283955e9.18.1777539941325; Thu, 30 Apr 2026 02:05:41 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 03/13] minikconf: run through isort Date: Thu, 30 Apr 2026 11:05:24 +0200 Message-ID: <20260430090534.841894-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H4=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: 1777540015262158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- python/tests/linters.py | 3 +++ scripts/minikconf.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/python/tests/linters.py b/python/tests/linters.py index 9696c0b71b8..4ce4e8a9805 100644 --- a/python/tests/linters.py +++ b/python/tests/linters.py @@ -25,6 +25,9 @@ def test_flake8_qapi(self): ] ) =20 + def test_isort_minikconf(self): + check_call([sys.executable, "-m", "isort", "-c", "../scripts/minik= conf.py"]) + def test_isort_pkg(self): check_call([sys.executable, "-m", "isort", "-c", "qemu/"]) =20 diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 4de5aeed11a..24389763db0 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -12,9 +12,9 @@ # the top-level directory. =20 import os -import sys -import re import random +import re +import sys =20 __all__ =3D [ 'KconfigDataError', 'KconfigParserError', 'KconfigData', 'KconfigParser' , --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777539980; cv=none; d=zohomail.com; s=zohoarc; b=S0sKhXeYIKB7KTmP55233+5OmF5NiuRamgqoVK1Km6o23VuxYNBXJKNp4aGl0oWgumA3lYW3pRVMK5wVYLO2jtJcIPYD/mmzpvrstEOs0/vjOMKYB1JyVypb6VgyFR/Pp7PiwxFBX7jlc7LeTv7G7ACJpc4EkVVX+TO74DdqfVY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777539980; 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=QCCs4RCOmtYxMOzifARQG7+H6mlv0elKLtfHjPN/uTQ=; b=N8X0VN3Ykbe1Y57JZxifbQIJBet0bZCRIz/LXEdNOFBi4jKmjE8ppVWnKoDtk2EJijNRhN+tnJLZDDA/f0XsZkoRSJlSjByoupWYGih+y6xfQ58scrLGnP6zNr7W8SImy4UF1S4oMrX9jzsbhTPaNmWFPXUFm/bQSveaNN+9H1U= 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 1777539980222272.7121483113757; Thu, 30 Apr 2026 02:06:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLF-0007x9-Gm; Thu, 30 Apr 2026 05:05: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 1wINLE-0007ws-A8 for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:52 -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 1wINLC-00037U-Pd for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:52 -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-60-Twa8p2ZsOx6ik1hSP7qggQ-1; Thu, 30 Apr 2026 05:05:47 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488dcaf2f2fso5316955e9.0 for ; Thu, 30 Apr 2026 02:05:46 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-447b4216ecasm11966391f8f.14.2026.04.30.02.05.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539950; 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=QCCs4RCOmtYxMOzifARQG7+H6mlv0elKLtfHjPN/uTQ=; b=TZY36L56rvuuqJC3Fzsh8ZHem7ljdWxcVnlZI7AXu58Cl3sHMD1ih2G/HLYPbMIBIrkeDM zcf9z4TCfioHFyZwzjDjkDrFYzxavmKg0pEnXYkGH7f6Kvuor0I9i0YW7gNvszw3JBx6a4 7PvB6pBJrFORjyhdZydnQkBThD5a3Qg= X-MC-Unique: Twa8p2ZsOx6ik1hSP7qggQ-1 X-Mimecast-MFC-AGG-ID: Twa8p2ZsOx6ik1hSP7qggQ_1777539946 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539945; x=1778144745; 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; bh=QCCs4RCOmtYxMOzifARQG7+H6mlv0elKLtfHjPN/uTQ=; b=mjQPh12wrRio8GLm3YkycRD5Nl6L0l8Uen9aYL9LVMZTx4ZLmzpBs2h+BJyus8Z1Zr eb6Ky7xN4jEgdrcBkVybLcSNuZAFZLoaamJnt7qP3TaDmJXadiQIaV6sj5dfhMeOx07o /T9pFFDTOqZgqF1wJAluUHgDeELu7pa8d19n/baxYgHKX6yEi/wVVPe2WzjgESGz6N6B m3z+x2/H2Ujl8oizVi7KB5ahByNMfMb4yRWb7vIiIdQclB1hDJLm4XycYKV+rAGm+YCr JkfkkT+tkIrvEagnk7OMYQZnQUL7RDAbYZNfweQQn/p4EUgysd8aepRDEJVHKs7LBAI3 3nsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539945; x=1778144745; 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; bh=QCCs4RCOmtYxMOzifARQG7+H6mlv0elKLtfHjPN/uTQ=; b=N86oimd5NI7giHUQlr/TXqaitOK++DmxnCuNy8CtbDmFs9XBs0ASky0K2l/ZK2wP9t b81VP+3kRPSi94cBrHY+vu+TvlAAhWpdmxKnJOmCiSO3qbsZpIUG/t1bypYS0sm9b4me fWbu3TtLQncdecu1vlE2t2OhUzL7YRLFuNNsVpyL/SCTYg2C87iB8FZYwu5jexrEV0yd +kp3Db1qDJcxvgOv+qxn82f+oP7lKijryCZ2OB26HvuXczZYATAiGM41kJeq3vEK0HkV ef3PEvlhYz1Bws443rcgDsGCWZyIHZ9fTirL12p1kVy3RUxvoTa76h51liH5QGYjUC8V +8sQ== X-Gm-Message-State: AOJu0YwvZlwBe18I+CxQrxsw+v1TCPN4UKPheSKiTCJKMGqbSZ4evMkq 5cb7SXmdsovdiqUSW7OlHDyjTeTtK03KJTztMrETm4aBEq/UqN5y0hoJSUuFLLpAVcL0BKI4xrl aYt2FVG45dR0gwJU/W7B9Lu5/teVgVUTdmo/P9VBZ+6z2+ZRWtBV+keEEztNSozSFPaibF/yxQu Nj6BBgXND8YqUoX/GydmVLH6tPjRoqygFcIiHw2i8b X-Gm-Gg: AeBDiesDxwv1HZ6zncOjqTatnSSeB0i/eNqFq+96DmVkYqGCm+XHRjiWDfNNi3gZSi4 mtnA8cyVdX3bCAr227a0U02s2oui+Q5T7r3+5vRxT90fCG/d/7QxwHO46UMPYUagDTe8Ymye3N4 XlTVhKWKvJp5nEDNw6lYiMTq2cDuAK/Ib81d7d+kmrVKsydklbAna43ASxZ+ZFq86H0F2o+/3qY iLgNUj79uRp+UoIv4RaxK53geGRIBQ8a1neOJ+b+GfXpBiiRwBQ1ZwGP0w2lAJEZI9xjYEsdt9t LixMa/oiCOEEv+olSIKMCvvWIsjQ8mGJHpwfb2g4991CMlbSnbq7EQq6Pj3ccPVFziph9YaJxXO 2j+9umah94XUbXhu8jBVKYq1pGWU7ALti+24G0xbgPlok4abVTj4NvAkSp7pfB+9rcBO0lQBMNb LyhhVTDMFQMKLHFGLa8k1mQsMxN2CUwvh4Rek= X-Received: by 2002:a05:600c:888e:b0:48a:592c:e655 with SMTP id 5b1f17b1804b1-48a84446da7mr26054825e9.17.1777539944652; Thu, 30 Apr 2026 02:05:44 -0700 (PDT) X-Received: by 2002:a05:600c:888e:b0:48a:592c:e655 with SMTP id 5b1f17b1804b1-48a84446da7mr26054365e9.17.1777539943990; Thu, 30 Apr 2026 02:05:43 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 04/13] minikconf: small cleanups and dead code removal Date: Thu, 30 Apr 2026 11:05:25 +0200 Message-ID: <20260430090534.841894-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777539982880154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 24389763db0..08df8d5dabb 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -108,7 +108,7 @@ def __str__(self): return self.name =20 def has_value(self): - return not (self.value is None) + return self.value is not None def set_value(self, val, clause): self.clauses_for_var.append(clause) if self.has_value() and self.value !=3D val: @@ -158,7 +158,7 @@ def __init__(self, dest, value, cond=3DNone): KconfigData.Clause.__init__(self, dest) self.value =3D value self.cond =3D cond - if not (self.cond is None): + if self.cond is not None: self.cond.add_edges_to(self.dest) def __str__(self): value =3D 'y' if self.value else 'n' @@ -212,7 +212,7 @@ def __init__(self, value_mangler=3Ddefconfig): def check_undefined(self): undef =3D False for i in self.referenced_vars: - if not (i in self.defined_vars): + if i not in self.defined_vars: print("undefined symbol %s" % (i), file=3Dsys.stderr) undef =3D True return undef @@ -220,7 +220,6 @@ def check_undefined(self): def compute_config(self): if self.check_undefined(): raise KconfigDataError("there were undefined symbols") - return None =20 debug_print("Input:") for clause in self.clauses: @@ -270,7 +269,7 @@ def do_declaration(self, var): =20 # var is a string with the variable's name. def do_var(self, var): - if (var in self.referenced_vars): + if var in self.referenced_vars: return self.referenced_vars[var] =20 var_obj =3D self.referenced_vars[var] =3D KconfigData.Var(var) @@ -339,9 +338,9 @@ def __str__(self): class KconfigParser: =20 @classmethod - def parse(self, fp, mode=3DNone): + def parse(cls, fp, mode=3DNone): data =3D KconfigData(mode or defconfig) - parser =3D KconfigParser(data) + parser =3D cls(data) parser.parse_file(fp) return data =20 @@ -352,9 +351,10 @@ def parse_file(self, fp): self.abs_fname =3D os.path.abspath(fp.name) self.fname =3D fp.name self.data.previously_included.append(self.abs_fname) - self.src =3D fp.read() - if self.src =3D=3D '' or self.src[-1] !=3D '\n': - self.src +=3D '\n' + src =3D fp.read() + if src =3D=3D '' or src[-1] !=3D '\n': + src +=3D '\n' + self.src =3D src self.cursor =3D 0 self.line =3D 1 self.line_pos =3D 0 @@ -534,7 +534,6 @@ def parse_property(self, var): # properties: properties property # | /* empty */ def parse_properties(self, var): - had_default =3D False while self.tok =3D=3D TOK_DEFAULT or self.tok =3D=3D TOK_DEPENDS o= r \ self.tok =3D=3D TOK_SELECT or self.tok =3D=3D TOK_BOOL or \ self.tok =3D=3D TOK_IMPLY: --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777539980; cv=none; d=zohomail.com; s=zohoarc; b=bcrPQNlg5ZO8wJ7xSJh+XfG8/qgRrXAcxfpBJrtoDqk8WP5024me3T9BvKU/kcOfXjzmhYk/DCWlGE8Wnm2nOHk9vw9018ohEFQBZh+ts4Q2w28m+DMPK2YyH+8JBPsHE9le/6kmPnhYr7gBf/2J3140zUQ6N7oghm7EFfY7RIU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777539980; 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=4gtxuAH4PAvxNT4xHNaNPMHcitxd/taN2BN54e0wKh4=; b=ODeG4kyldBwhdt1APf5FQbG9lSEDAvX2B1HG8NjZtpwpbOYNcJewpBDEgiKiNvXKe9O1Chwnal2kKLBxW+NQ/4W76HVRK7H5Uxg5FODT5ezm7Vvq97RCg5uM5dKDH5gpbilgEx3T9kUG3yUsW97hg8oLXDAED2TGmAblDjowpms= 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 1777539980269896.2568664278286; Thu, 30 Apr 2026 02:06:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLH-0007xn-6L; Thu, 30 Apr 2026 05:05: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 1wINLF-0007xE-L4 for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:53 -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 1wINLD-00037k-Gj for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:53 -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-57-R5PVMPgcPZGwu6tDlDczhQ-1; Thu, 30 Apr 2026 05:05:48 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-48a5775d647so5622735e9.2 for ; Thu, 30 Apr 2026 02:05:47 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c1d0228sm138960685e9.2.2026.04.30.02.05.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539950; 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=4gtxuAH4PAvxNT4xHNaNPMHcitxd/taN2BN54e0wKh4=; b=iF5zLrwZOCaj2oRUOQOZNwt0WUO44pNQHC4Y6tiX5cjna43kc5QqXLgtFr1tPA/tOsimon aITp+ts8+B0vaOuQiPMWEwt2QPg0Y2Edsulm/vqVmZHkUyu+5yTC8B2VNAggUdks39cKnb 8MiEg5xztgwjse3LZQx8WutkPk8BA1U= X-MC-Unique: R5PVMPgcPZGwu6tDlDczhQ-1 X-Mimecast-MFC-AGG-ID: R5PVMPgcPZGwu6tDlDczhQ_1777539947 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539946; x=1778144746; 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; bh=4gtxuAH4PAvxNT4xHNaNPMHcitxd/taN2BN54e0wKh4=; b=cB/sqnBzHzkf53K6bMtS7fWgVK0BrnEH3QAhPjO5DSeYoF7QraEo5RqjkfVsKjD3a4 9pYxFhkZ+LAdnmuiP3A+EP26S48zA6egZRDz/Npue5oJC1ERtW4PcxshUfAZrWoVbTxb LhPYaK4OvrQTYpVeTsS6Z+6HOlKU/okCs6xEXvclWpgOxam9sORjoa2TVBCZE70VC9YS VCCLdRu9456EvnmFXQLhh9z2y4pcJFkJ7ixJEMU446R2wySL//zReXkQM9oLOFbiXrHi /LBMGU3m042UA8tjzqiTRppOd5f3O6AHb5wdmVam6WdZYuvjP+wkwO7MnihweXtlUOM6 aVJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539946; x=1778144746; 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; bh=4gtxuAH4PAvxNT4xHNaNPMHcitxd/taN2BN54e0wKh4=; b=sMAeT54pN74cOWvw7El/LiCfVPPyHgM7HAlukKDM1r6O4j1QtY0k481eSNzgrK8n7S jl3jPI1VZjpRQQZpwhoUywGUC0dG1y0spXDGtdK4NU1KNvbUu3CppZj1NgkN2YZNQxQy NrNLhaQnmpQbsP2bZfRaD+P9kmAxTTlH/M2DklnkeTRYAymyH1Tev4sFzq4HO9hflcD6 nJSQJbP67m4j4U04tQ1oeHjxLvTXq5L+8Q8f21mn1L1XKf0GgDx4Q4U9VsxWAf065N4/ +5bUf8Qa2SJLkKGFmPpRNd7RqNmNei5DU13pIu5TPAMnyCmZOOEQV0Pea/Vv4FkN/P3f C67Q== X-Gm-Message-State: AOJu0Yx1boPlunHgBW4mNpSDz7R2zYOZ738YucGHTYP2r/Z96xk7cpTa GS5hLxsraAYzG9kyjZlugFOcA/PQOVYX/B4QccFEI5es9Ta1xMnKW4jRyaG18YZ4dItpQmmKjDq 05C32yKz8ZKi2swVJf03dj56fMTYbIJxhiiWHnOSoS2FLU/UECkvkGQDF2SWu8xfyNyO30p/CGe AYl3tEyhHME2CLkT5kV6KyEOqwkJLKdSscbUx4dOh9 X-Gm-Gg: AeBDieu097q++bUlEh1SWuLtrYKktmp9NeacR7VhXd/VBNAPgJeJn7+D1wyhuYCePh0 c+wCjveg0iOxdl/Mj667VK/s5yM6dwwW+kdZpZFaWNlJ+DmzTbQbH0KKcM3sAWjFMnNEZS5gd3L yaSv2/oBstFeXnKxTWgkIHwR25iCA0bvo6RzAhhWMRC7VlUQHATF8CTYzDfZkqKuWfSJfvItqtJ fK8g9pZjx04n5e7S6L5JVlZxIQ6gtyXLXX2B9lUE24A+NWzCJ1K8D92BwmQ+b1rDzs+tjY4hgcg 0uf7ejucOScWO+1wxPTVr48SdbEzJo9seUjH4xPvRPF0dbcOMJ/ZDic6ap+rGMVw2lmQVTsJcQM 7wHRZ5GrZhJjPsJ7Aff4IaTC1n8ok6qGkPPs1bma9LJycAXI+w7EU8Us6l0bimyivt75IX3B63s yx37Q6/doJuVOhk3SFDzWHAMyfRw3ZiWOuRpk= X-Received: by 2002:a05:600c:c4a5:b0:483:2c98:4368 with SMTP id 5b1f17b1804b1-48a84467651mr33692915e9.18.1777539946098; Thu, 30 Apr 2026 02:05:46 -0700 (PDT) X-Received: by 2002:a05:600c:c4a5:b0:483:2c98:4368 with SMTP id 5b1f17b1804b1-48a84467651mr33692325e9.18.1777539945419; Thu, 30 Apr 2026 02:05:45 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 05/13] minikconf: move command-line assignment out of the parser Date: Thu, 30 Apr 2026 11:05:26 +0200 Message-ID: <20260430090534.841894-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H4=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: 1777539982952154100 Content-Type: text/plain; charset="utf-8" KconfigParser.do_assignment() only exists to handle CONFIG_FOO=3Dy/n arguments from the command line; it is never invoked while parsing a Kconfig source file. Because main() called it on a parser that had never been through parse_file(), a failing CONFIG_ check would raise a KconfigParserError whose __init__ and location() touch fields of "self" that do not exist yet. The regex in main() currently shields this, but it is fragile. Move the prefix-stripping assignment to KconfigData as do_cmdline_assignment(), simplify KconfigParser.parse() to accept an existing KconfigData, and call it from main() so the parser is only used for actual file parsing. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 08df8d5dabb..668de577d09 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -278,6 +278,10 @@ def do_var(self, var): def do_assignment(self, var, val): self.clauses.append(KconfigData.AssignmentClause(var, val)) =20 + def do_cmdline_assignment(self, var, val): + assert var.startswith("CONFIG_") + self.do_assignment(self.do_var(var[7:]), val) + def do_default(self, var, val, cond=3DNone): val =3D self.value_mangler(val) self.clauses.append(KconfigData.DefaultClause(var, val, cond)) @@ -338,11 +342,8 @@ def __str__(self): class KconfigParser: =20 @classmethod - def parse(cls, fp, mode=3DNone): - data =3D KconfigData(mode or defconfig) - parser =3D cls(data) - parser.parse_file(fp) - return data + def parse(cls, fp, data): + cls(data).parse_file(fp) =20 def __init__(self, data): self.data =3D data @@ -361,14 +362,6 @@ def parse_file(self, fp): self.get_token() self.parse_config() =20 - def do_assignment(self, var, val): - if not var.startswith("CONFIG_"): - raise KconfigParserError( - self, "assigned variable should start with CONFIG_" - ) - var =3D self.data.do_var(var[7:]) - self.data.do_assignment(var, val) - # file management ----- =20 def error_path(self): @@ -688,18 +681,16 @@ def scan_token(self): sys.exit(1) =20 data =3D KconfigData(mode) - parser =3D KconfigParser(data) external_vars =3D set() for arg in argv[3:]: m =3D re.match(r'^(CONFIG_[A-Z0-9_]+)=3D([yn]?)$', arg) if m is not None: name, value =3D m.groups() - parser.do_assignment(name, value =3D=3D 'y') + data.do_cmdline_assignment(name, value =3D=3D 'y') external_vars.add(name[7:]) else: - fp =3D open(arg, 'rt', encoding=3D'utf-8') - parser.parse_file(fp) - fp.close() + with open(arg, 'rt', encoding=3D'utf-8') as fp: + KconfigParser.parse(fp, data) =20 config =3D data.compute_config() for key in sorted(config.keys()): --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540000; cv=none; d=zohomail.com; s=zohoarc; b=HEBGhygkxKbefLWDi//1Y26yGEykiocMXuZclwHmxYFfxglSNrhTWDFYtPfoAM9xTcS+6/9QCvHZMn2fsGVwGxF5qPm3avwO/cCunUvftpgoak0KIy8LAqV8ubWP/dTVViLcrryv1Odus5Sk+V6Oy0MlDFaknGHsWhPnJJQNmDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540000; 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=6tzzrS5ecz73Iy3hYAnDaiqAQMntarfFddC3xG+/3gs=; b=jMpSTv3YKTPuT0iNPZDHk6T+ZmI0exnDIc9rUfxztd70e68ojl3T+fLeEFgR/itHY4yA2seD3zM/ryS2bh+7kug5W00hDWu2j1UZAa3cNMqs23JpWfIn/yw6a1cn7V+YOBpJKx4waC5nvX488Rkw3YqJOxBntqmd0+1i600y5io= 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 1777540000419425.7473937516985; Thu, 30 Apr 2026 02:06:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLI-0007yc-Me; Thu, 30 Apr 2026 05:05:56 -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 1wINLH-0007xt-BD for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:55 -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 1wINLF-00038H-TE for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:54 -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-544-GdRjHZKlNUeFL8Jf2qqdNg-1; Thu, 30 Apr 2026 05:05:50 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4837b6f6b93so7102345e9.3 for ; Thu, 30 Apr 2026 02:05:50 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c303c3bsm56350335e9.7.2026.04.30.02.05.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539953; 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=6tzzrS5ecz73Iy3hYAnDaiqAQMntarfFddC3xG+/3gs=; b=Y6OGl6Hr1kxRxfU5e1ZJNZ52q94ts1OHNOyxL5W+XAMyT1jfMuBpJuM48Z3VSJ68J4lNPQ 0D1X2NbEaR3IOGL4rqC/r1EcOEGKY+UqNRYt3wsFlXCAOmRIXm7Dg4TyFugEL83dz6EXHC Jhsv4lHLvLRL8fRlumWs2IkEoMWlkVM= X-MC-Unique: GdRjHZKlNUeFL8Jf2qqdNg-1 X-Mimecast-MFC-AGG-ID: GdRjHZKlNUeFL8Jf2qqdNg_1777539949 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539948; x=1778144748; 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; bh=6tzzrS5ecz73Iy3hYAnDaiqAQMntarfFddC3xG+/3gs=; b=hJGbAHZWkXYFyRPwLnmnXGhcTZj7+TB6M+JwTfsv/5hciGxepIdTYlWVXUVK/q6NIx 67pEPqEdJx/rlMQ9sbOs7zqjAACnvDHHebfA1V1EwacXLZOB0JMwE1w7vn1bzUeomsv8 JsFYkyxg+Ynl7xHT0otGiCp374m9KWuGWjZVkis5r24lz4tKkHiAS5MkJvVtYdkXojiC YXeP5UmE7h3JSjaqkDMtGdXdq4fijLocXsnKiM4uKA6/yT9ZGyeZTrd2PM/SSlNkPc3y W4z4a1ZRp+JhdDO0DKh1HUXJhMQvSW8fXv1LGUH6amjzd5Yseql7sFhI0AAWQuyVUyyV rV5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539948; x=1778144748; 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; bh=6tzzrS5ecz73Iy3hYAnDaiqAQMntarfFddC3xG+/3gs=; b=NvpnJcb+AaFDGzmWWPIz0AOMWdWXzRForW11CeDYKwtzmvvCSfscaqcxdJINtVQ6d7 qHangpEW40WxWypOEkI9In0Y3o8eGgnSApGEiKabQ/wiWPPLwSkv4NmD5nel588MKyr0 Wkmn4FY4Yf9C9SCMIfe8fJoutTRo2gPv280CI/8O0lJGm7+x0DA6k9eNv5DCQH24Z54H mKcvLuWaCHSXzt9AQTWjccDt1ie1fDrtHcSQXrq0aN0E1rnVIkFygmoO17cnQ3u62bgk 00h5le1Jmec7OhcVWGPTfrbGfEyB+K3T7CA3zlxUzDWMGGWhDx2YUIQrV+pHKW1RwDZr JElg== X-Gm-Message-State: AOJu0YwsIAz3hq6gkILiuZ7TEzbQRRmzS9hIma90LbLzaXuf8VKZStbh ofPxMmoVVmQoHRUkHWbDRZzftpV0N/CSpD52GZiGmbnmdYMuu9OnMBS/Z0Kx4Qo4fcoW1VL5lmZ P9ZhPJD4NjOwvGMCXzr5+AfxkuHlf+9xWhFfdX2ffiTsdAKTcTDKY/QwGUmoWVz5DqAOIQq/PTW /SDC3FUZxvo4pyAvq72fnbQQm+9NicKLq+UG+4CXeR X-Gm-Gg: AeBDieuYz9zkTaZg0qhBxeI0TFgFKj0sP/8IffRLVrcxDfOviJm7byCJ16AcO6akqVT 4oytS4+enO11CMmu1BhqxP4V58N7DEt2n2xuw2OPgk/Nuv32FdGyTd87oMfNFlQ0j96Fb6OQqnR AgOYVO9YHR4wC9pxj8WiOxAJRJ5vc7f2QdJv/hH5nxFGQFukCUCxj0ReBbg1IogX7bDtS2UmgUo zyoj0X7lvJqW4/NGoA+syQcFR5ggOGwx9wSt8kAG5BvzK/mimc3DsOJWkoEckYVlArzLRawcwqQ YSQTR20Ii0gnVraMiErZCmeT3wz8hd1GQRIF+peOhbnlMPJW6YOitmnhX8RRyjck3Rb1c1ktXRQ k0nDlJTohECaZqbgbQd+w3r58Va1cn568QjDd8BXR6s53T3HZX+chQ+neYytNGp/YlERdtrj2Ae 3pRFsyorcuVOVuINAg4frbBeJOArgpuI/dULM= X-Received: by 2002:a05:600c:c174:b0:480:1c69:9d36 with SMTP id 5b1f17b1804b1-48a84468397mr33966575e9.17.1777539948314; Thu, 30 Apr 2026 02:05:48 -0700 (PDT) X-Received: by 2002:a05:600c:c174:b0:480:1c69:9d36 with SMTP id 5b1f17b1804b1-48a84468397mr33965995e9.17.1777539947825; Thu, 30 Apr 2026 02:05:47 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 06/13] minikconf: fix type mismatch in do_declaration Date: Thu, 30 Apr 2026 11:05:27 +0200 Message-ID: <20260430090534.841894-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777540002849154100 Content-Type: text/plain; charset="utf-8" The set stores strings, not Vars. Because of this the duplicate definition check did not work. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 668de577d09..2656d364920 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -262,8 +262,8 @@ def visit_fn(var): # semantic actions ------------- =20 def do_declaration(self, var): - if (var in self.defined_vars): - raise KconfigDataError('variable "' + var + '" defined twice') + if var.name in self.defined_vars: + raise KconfigDataError('variable "%s" defined twice' % var.nam= e) =20 self.defined_vars.add(var.name) =20 --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777539980; cv=none; d=zohomail.com; s=zohoarc; b=FUqfSAiz+wgLXBAKl7FVmwTqCIuHDMpubfqynzWajx2XBaLSYdvzFBdMAOaNHhvqdJFMYKpLKzZBUC17otQu0wGpIGAF4EnGMVQJxFmsDSPs+sY5GA/zpH3gyqJ3sZ7u/kMUOOakkAe/bZSNDfg32yiQg/vvcCk1w//4+UqNnrg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777539980; 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=a04HJwacH/7HHwrr3Yw5Am+YrjLFb+c7Jru2AF+J9Z0=; b=LuCyalcl+bJq57PrMIg2L2OD2k0+UPpjPEltJpY3hIIeTAqTa6TDRV9sgIwOoaOuKlCnSGzZimGEoQR9LbaOGsknAZ7uyTx2WhQ5YH+dhRbRs/te1HO/z6RDK0wj9hcfbWc1uLdlsB00wben4MCGFD7Vqr7F5Tytc/9XA8+IZ3s= 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 1777539980480114.12576727858868; Thu, 30 Apr 2026 02:06:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLL-0007zP-Vd; Thu, 30 Apr 2026 05:06:00 -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 1wINLI-0007yd-OH for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05: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 1wINLH-00038W-4S for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:56 -0400 Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-364-_FHXJsO1O0m8QAObEQh4Zw-1; Thu, 30 Apr 2026 05:05:52 -0400 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-bb9fdd62dceso57585066b.0 for ; Thu, 30 Apr 2026 02:05:51 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-447b421721fsm10662427f8f.15.2026.04.30.02.05.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539954; 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=a04HJwacH/7HHwrr3Yw5Am+YrjLFb+c7Jru2AF+J9Z0=; b=Mcpuy5nLlgszLsGrqje5gVc5vZrbY1mXFzEiH5XIPTyUKE/l5HkdVZOMmBRCiatW7O/nNr FRzIu8JYL9L3J6b6kWp1VPp9AgkqU4tLR8iJ90alIuYgCcT1uL2ntU2MDCLkEpguw9b255 ThJxQ+A7fCoxvKiZq5cb7Rkt6zik5B0= X-MC-Unique: _FHXJsO1O0m8QAObEQh4Zw-1 X-Mimecast-MFC-AGG-ID: _FHXJsO1O0m8QAObEQh4Zw_1777539951 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539950; x=1778144750; 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; bh=a04HJwacH/7HHwrr3Yw5Am+YrjLFb+c7Jru2AF+J9Z0=; b=DMvlMwRRI0vUwPOkM5MYvrQ2dpkSx1es2A9YdwfUngiOC35W8FIVdfpuNlbKKaAjLV A6l0Il/VdZtzbn87AvKXIGQOgkChyIEVUmWFO34lBcUlEF6JNKy+3LT+XwaMPVO0MJ8t R+WY+wRD2StgIBE6pc25/EWEEWgP79KHJhfxIxJ1ir+Kq8XxkVrfkJ453R0FgoRrKR3O Q7caoE1Y49WYe6efS6FmAjIa/iiOCCfTmPfBlaI0OngydgJOsjrJoNJPDRZbtxrvgnma pNTB7mcpver+mDvLhbNCU88mlv1lz5us8qhc3C6AWM3NOTP3L2xK7fNwk68ZxZwvWVz7 zUHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539950; x=1778144750; 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; bh=a04HJwacH/7HHwrr3Yw5Am+YrjLFb+c7Jru2AF+J9Z0=; b=m5cD2UaTCQj9P9t4X5PutwrM8L1YHAFeAEJyQ7lB70EF+HfnbXkQMPNKoBow4vCk6r S8hUoA1Q026xCvXlOUWJ/EyMvfE7ltma4bxkA5yL7EljsXJPIAnKmrf1K21SQoPC/0J1 4HifDVsKMt4UiwXPkTMFeFtiL2rc3ahdkt6lttvdi3etoKhJduQxCjBmKxptwGiKPSGH Ltoov2sfWaTZkyaGXTWibbRMSFo3QH8xdTpAdAMPl9mPFy3DOSdau3/6TDh1fZvehMjG /ax6K3koZdoIxo6HlBF+p30M0xshVX8YbFg+x5qQUr7pcnSBsWkD6RRlB3SYtS1QNw+5 VGPA== X-Gm-Message-State: AOJu0Yy5hA/m8Y8wdJ1nqflJGlMkDM18dqyp4vKthYB4RKaQ/wlVcKLZ 7u6sm7G3EMN6qZa3oUSzmXuQVxF2TFGT321NEr9JZKmF+YUn8a0cn8/qcxjkhb17BEThNTABk4O 8zUQwrXaOO13VGnxxUc2Is5ChMFz0qQwEfRKunimsvTipxmnuQnClwRB1dOr996v+A/Q5cY7nhq kub8Q8ebMe9KOhIDt5Vj6MOYXhiSfWM6+xGLCBWImy X-Gm-Gg: AeBDievRpBYLi9dmx9oM145LuRVXZVnS5zuxWHHUQzc9loYNOTflw+2p1pdv04cF0mU jrn2SBqfG0KBURbLAX990Kogo+L6dSKWBTM0NFsrOHRBg3sR5mr00wVYlKMsUDcv0fjmm6E32VE Qilctk881/pTU9UUN3lNAyeBivkTQMLRi7RQeoo3dcinKNsWOTQrrysCXZhln67fBjiGxQ6TY8T VdaV0mpOyuKeOeB/fil/pC7vWZI5yTei+U4sjF51N4Wk5xfki/i22N8r8a/ZpbIDiZL7NcZ4lzj DrhFoQKY+X9N/QaxMhM63s+/ylxicNv3WrA61feysRcglPhI5JO+AbIgnTyKXgK7v/9VlfnKY9L ATwM380OIYbl4T26VOjFvoE0dPJM0+/umoj0x2Ck8+ides/q6nKcgZwxdA3rAb7ezsVYpK37PeH TKGwNWC/17M+O6PI5rKOl4khr1TG5UnB4o+Qg= X-Received: by 2002:a17:906:518c:10b0:bb4:92dc:b84b with SMTP id a640c23a62f3a-bbac7890ca8mr101285666b.26.1777539949860; Thu, 30 Apr 2026 02:05:49 -0700 (PDT) X-Received: by 2002:a17:906:518c:10b0:bb4:92dc:b84b with SMTP id a640c23a62f3a-bbac7890ca8mr101282666b.26.1777539949048; Thu, 30 Apr 2026 02:05:49 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 07/13] minikconf: simplify self.tok Date: Thu, 30 Apr 2026 11:05:28 +0200 Message-ID: <20260430090534.841894-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777539982898154100 Content-Type: text/plain; charset="utf-8" Do not ever store a string in self.tok, only a finished token. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 59 ++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 2656d364920..3d63cc6b21f 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -330,9 +330,9 @@ def do_imply(self, var, symbol, cond=3DNone): class KconfigParserError(Exception): def __init__(self, parser, msg, tok=3DNone): self.loc =3D parser.location() - tok =3D tok or parser.tok + tok =3D tok if tok is not None else parser.tok if tok !=3D TOK_NONE: - location =3D TOKENS.get(tok, None) or ('"%s"' % tok) + location =3D TOKENS[tok] if isinstance(tok, int) else '"%s"' %= tok msg =3D '%s before %s' % (msg, location) self.msg =3D msg =20 @@ -573,13 +573,14 @@ def parse_config(self): =20 def get_token(self): while True: - self.tok =3D self.src[self.cursor] + ch =3D self.src[self.cursor] self.pos =3D self.cursor self.cursor +=3D 1 =20 self.val =3D None - self.tok =3D self.scan_token() - if self.tok is not None: + tok =3D self.scan_token(ch) + if tok is not None: + self.tok =3D tok return =20 def check_keyword(self, rest): @@ -591,46 +592,46 @@ def check_keyword(self, rest): self.cursor +=3D length return True =20 - def scan_token(self): - if self.tok =3D=3D '#': + def scan_token(self, ch): + if ch =3D=3D '#': self.cursor =3D self.src.find('\n', self.cursor) return None - elif self.tok =3D=3D '=3D': + elif ch =3D=3D '=3D': return TOK_EQUAL - elif self.tok =3D=3D '(': + elif ch =3D=3D '(': return TOK_LPAREN - elif self.tok =3D=3D ')': + elif ch =3D=3D ')': return TOK_RPAREN - elif self.tok =3D=3D '&' and self.src[self.pos+1] =3D=3D '&': + elif ch =3D=3D '&' and self.src[self.pos+1] =3D=3D '&': self.cursor +=3D 1 return TOK_AND - elif self.tok =3D=3D '|' and self.src[self.pos+1] =3D=3D '|': + elif ch =3D=3D '|' and self.src[self.pos+1] =3D=3D '|': self.cursor +=3D 1 return TOK_OR - elif self.tok =3D=3D '!': + elif ch =3D=3D '!': return TOK_NOT - elif self.tok =3D=3D 'd' and self.check_keyword("epends"): + elif ch =3D=3D 'd' and self.check_keyword("epends"): return TOK_DEPENDS - elif self.tok =3D=3D 'o' and self.check_keyword("n"): + elif ch =3D=3D 'o' and self.check_keyword("n"): return TOK_ON - elif self.tok =3D=3D 's' and self.check_keyword("elect"): + elif ch =3D=3D 's' and self.check_keyword("elect"): return TOK_SELECT - elif self.tok =3D=3D 'i' and self.check_keyword("mply"): + elif ch =3D=3D 'i' and self.check_keyword("mply"): return TOK_IMPLY - elif self.tok =3D=3D 'c' and self.check_keyword("onfig"): + elif ch =3D=3D 'c' and self.check_keyword("onfig"): return TOK_CONFIG - elif self.tok =3D=3D 'd' and self.check_keyword("efault"): + elif ch =3D=3D 'd' and self.check_keyword("efault"): return TOK_DEFAULT - elif self.tok =3D=3D 'b' and self.check_keyword("ool"): + elif ch =3D=3D 'b' and self.check_keyword("ool"): return TOK_BOOL - elif self.tok =3D=3D 'i' and self.check_keyword("f"): + elif ch =3D=3D 'i' and self.check_keyword("f"): return TOK_IF - elif self.tok =3D=3D 'y' and self.check_keyword(""): + elif ch =3D=3D 'y' and self.check_keyword(""): return TOK_Y - elif self.tok =3D=3D 'n' and self.check_keyword(""): + elif ch =3D=3D 'n' and self.check_keyword(""): return TOK_N - elif (self.tok =3D=3D 's' and self.check_keyword("ource")) or \ - self.tok =3D=3D 'i' and self.check_keyword("nclude"): + elif (ch =3D=3D 's' and self.check_keyword("ource")) or \ + ch =3D=3D 'i' and self.check_keyword("nclude"): # source FILENAME # include FILENAME while self.src[self.cursor].isspace(): @@ -639,19 +640,19 @@ def scan_token(self): self.cursor =3D self.src.find('\n', self.cursor) self.val =3D self.src[start:self.cursor] return TOK_SOURCE - elif self.tok.isalnum(): + elif ch.isalnum(): # identifier while self.src[self.cursor].isalnum() or self.src[self.cursor]= =3D=3D '_': self.cursor +=3D 1 self.val =3D self.src[self.pos:self.cursor] return TOK_ID - elif self.tok =3D=3D '\n': + elif ch =3D=3D '\n': if self.cursor =3D=3D len(self.src): return TOK_EOF self.line +=3D 1 self.line_pos =3D self.cursor - elif not self.tok.isspace(): - raise KconfigParserError(self, 'invalid input') + elif not ch.isspace(): + raise KconfigParserError(self, 'invalid input', ch) =20 return None =20 --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777539983; cv=none; d=zohomail.com; s=zohoarc; b=cXx6FnkwAIL4Ie5gmL5HC90h3YpGUbql8xcXyGuYfoVzMCPrGFX1qwlNBb32oDklxtcqJOL3qe2c/iCeJyyLA4h5Ie/YNc7z+e3kWsEIcVOUtCsWYXS/q3t37hZD4QIt/q+6PVo1ITl7lStpZsJGCXrCFo6S49FOuvPvM2QCLvg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777539983; 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=KDJRYPPLDzkY3EK1Q+ay5cnp96vxNf8VANGXo/2TzNc=; b=kBQfRmFjKWJmTf9q3ptLf3zN20sgIA7g9816bLI04OTWigkgN7DZCEPaIiu1NK8fJ1suyycm5uykOEbCqB7aNP3ZpAlp171cbBwhhVDQAFxnG5m74sAWnEWZj+pzU3VBVcdVD62cxiYeBKnavVGE3FO/BxAin/K0OjJi/Qf68aE= 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 1777539983424746.8990134402376; Thu, 30 Apr 2026 02:06:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLN-0007zi-O2; Thu, 30 Apr 2026 05:06: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 1wINLK-0007ys-2A for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:58 -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 1wINLI-00038n-CL for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:05:57 -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-327-zCYeDxwAN0mNICdlYZdfFw-1; Thu, 30 Apr 2026 05:05:53 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488c0fcc6deso5134915e9.2 for ; Thu, 30 Apr 2026 02:05:53 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7b9219f3sm44778695e9.9.2026.04.30.02.05.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539955; 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=KDJRYPPLDzkY3EK1Q+ay5cnp96vxNf8VANGXo/2TzNc=; b=gabKHb/SeWpeR/s7yVL4q5G2hKi+ordy7JVKRdhImCy+gttP1FYjW3GgpbuHXETTkmBFht yJfz9OYiFiYmIqW2CmhrYIXWg9QFcSqPNep9RnZ6TPXuj95KY6+w30HNOZ89OVU8flICtF 6ttmlWMhKOCXgR9JheV4b4OtIk08iok= X-MC-Unique: zCYeDxwAN0mNICdlYZdfFw-1 X-Mimecast-MFC-AGG-ID: zCYeDxwAN0mNICdlYZdfFw_1777539952 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539951; x=1778144751; 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; bh=KDJRYPPLDzkY3EK1Q+ay5cnp96vxNf8VANGXo/2TzNc=; b=JBu81qUtHoi7Bwmd6Rrqs+myobzQ4YOoK2I+v6c+Wj4bHDESeBGT/osY7JspwED/Vb lZkJNw5SdxceM6DgPdMhUBWXqy0k9KNmnZlyO+Y+4+GlCEOI4BTvgvLkb3DlfFXtEcaB EReSSC5S1IfeaREiXs6WlaAUnpqsJmY4uqNKXLs01EfkO5QmVC0QIFNk9fPpC+2coMIB 3IYElJcmJRy4j7HjFK69Y320nO5rXpt/JGVYEWi6R/EXl4rEOceWkwda8DYp90WFoNUH yzmscuS0UZuHeJ1prCmo8WQejcGeW9MHzJSTD3AN88nDCbJuo99740dm+XPFPOQDuIJy KB9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539951; x=1778144751; 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; bh=KDJRYPPLDzkY3EK1Q+ay5cnp96vxNf8VANGXo/2TzNc=; b=ot45jGyaomRRWdUXCoVwI8zWMGD5V/n1SX6Zmsjt5GIAD4nq1Uvm354WqSxTxJezAK uyBCOv5m5FwCp2hZi8Hvm3S83kTkiOE5Zk5seCLfK7uDYqBcsX5jFlmb1Sfk6gPi1iA+ KNq2Z5ZZrhUTu1B/iHhCPk1oQZN06o0kCOUPogYF38nnJP5idAzCV/QUYa/zMkfyl+3b 8mw4pfQq1E5nygGDTEPqgJrLa3octsDMetvpVg96Lqf7svGEcX3Cb2ozkpALD29pVAl2 FfQKqxdTiFZFxu89jicMyy4Y5JfzEnUs6j+jCPvv/I5O8/yKUdEFP/JG2rJq7/7w1UF/ 9s5w== X-Gm-Message-State: AOJu0YxisQU2FjIQZ1V3xThsE6AuJPlRV7p5SnqPJ6KfVC7+hIJ+p5BK A/4NW4HaXJJXAW0penkdADtxlRsLeEEgait5ccYEkWa07iBQuXiSwucmo4pAD4959reqaCyQf03 1a60Lru2Mu9ccIz9fajBCl7x4CaN6LBEeBvYyC7adqm77issNfgpnCzCgPFk6ZNbP6vSyObO/Ih 598dy+WdAypOO5opIqkRcrLzelTbLiMddMt5Yd9a56 X-Gm-Gg: AeBDieu0yQRLCQudQfHed6LkH7d/jGOK8PaSMKcN2pVcFWDAamOdhQ1JQBq4kamj+89 D9bLO+cXMBRDt5b/VRxFxnfDaXTGOD+VrZSIhBvwkInIWUjChPhfaxZM1IM6eONLgDDMLcYeOpm g9YTrQZiLZ2If7KX7LJz3YAma/WxmZIS4a6JmiamkPAbf6hl6jvdY+EO7kbYxpKsFEcqpc/yaUZ YU0pEOGmEhVGnrKLKp5KwsCXHbPl7OyNIfqwF/xLG7u8w5uyVATE92U5DtHyXQyjhy9bmhk4uN7 6jPZXjqmF7igpCV4qxZRDFOkSqRgDHsDPUeqMIH9MAUJG91oRrSfq1RqgHHZQ+ZmQkLHGRjM6ee 6VGf48tpVN0xerLzsKYf9gjMWsqGzU9oh6LHt6mp2HotKLekr2WMGJxM19AFtkr46+YY5iL+/OR rzcWhS5j9M5HIHd983ihdgkzaXPW6t/dpVzrU= X-Received: by 2002:a05:600c:a14:b0:489:ecee:c4ef with SMTP id 5b1f17b1804b1-48a84451b9fmr31196975e9.13.1777539951344; Thu, 30 Apr 2026 02:05:51 -0700 (PDT) X-Received: by 2002:a05:600c:a14:b0:489:ecee:c4ef with SMTP id 5b1f17b1804b1-48a84451b9fmr31196365e9.13.1777539950735; Thu, 30 Apr 2026 02:05:50 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 08/13] minikconf: modernize handling of include chain Date: Thu, 30 Apr 2026 11:05:29 +0200 Message-ID: <20260430090534.841894-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H4=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: 1777539986865154100 Content-Type: text/plain; charset="utf-8" Use a dataclass, and store it in the parser to avoid having to save and restore it. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 66 +++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 3d63cc6b21f..07a5152ef54 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -15,11 +15,30 @@ import random import re import sys +from dataclasses import dataclass =20 __all__ =3D [ 'KconfigDataError', 'KconfigParserError', 'KconfigData', 'KconfigParser' , 'defconfig', 'allyesconfig', 'allnoconfig', 'randconfig' ] =20 +@dataclass +class IncludeInfo: + file: str + line: int + parent: IncludeInfo | None + + def __iter__(self): + inf =3D self + while inf is not None: + yield "%s:%d" % (inf.file, inf.line) + inf =3D inf.parent + + def error_path(self): + res =3D "" + for loc in self: + res =3D "In file included from %s:\n" % loc + res + return res + def debug_print(*args): #print('# ' + (' '.join(str(x) for x in args))) pass @@ -202,7 +221,6 @@ def process(self): def __init__(self, value_mangler=3Ddefconfig): self.value_mangler =3D value_mangler self.previously_included =3D [] - self.incl_info =3D None self.defined_vars =3D set() self.referenced_vars =3D dict() self.clauses =3D list() @@ -342,13 +360,12 @@ def __str__(self): class KconfigParser: =20 @classmethod - def parse(cls, fp, data): - cls(data).parse_file(fp) + def parse(cls, fp, data, incl_info=3DNone): + cls(fp, data, incl_info).parse_config() =20 - def __init__(self, data): + def __init__(self, fp, data, incl_info): self.data =3D data - - def parse_file(self, fp): + self.incl_info =3D incl_info self.abs_fname =3D os.path.abspath(fp.name) self.fname =3D fp.name self.data.previously_included.append(self.abs_fname) @@ -360,19 +377,9 @@ def parse_file(self, fp): self.line =3D 1 self.line_pos =3D 0 self.get_token() - self.parse_config() =20 # file management ----- =20 - def error_path(self): - inf =3D self.data.incl_info - res =3D "" - while inf: - res =3D ("In file included from %s:%d:\n" % (inf['file'], - inf['line'])) + res - inf =3D inf['parent'] - return res - def location(self): col =3D 1 for ch in self.src[self.line_pos:self.pos]: @@ -380,33 +387,34 @@ def location(self): col +=3D 8 - ((col - 1) % 8) else: col +=3D 1 - return '%s%s:%d:%d' %(self.error_path(), self.fname, self.line, co= l) + inf =3D self.incl_info + incl_chain =3D inf.error_path() if inf is not None else "" + return '%s%s:%d:%d' % (incl_chain, self.fname, self.line, col) =20 def do_include(self, include): incl_abs_fname =3D os.path.join(os.path.dirname(self.abs_fname), include) # catch inclusion cycle - inf =3D self.data.incl_info + inf =3D self.incl_info while inf: - if incl_abs_fname =3D=3D os.path.abspath(inf['file']): + if incl_abs_fname =3D=3D os.path.abspath(inf.file): raise KconfigParserError(self, "Inclusion loop for %s" % include) - inf =3D inf['parent'] + inf =3D inf.parent =20 # skip multiple include of the same file if incl_abs_fname in self.data.previously_included: return try: - fp =3D open(incl_abs_fname, 'rt', encoding=3D'utf-8') - except IOError as e: - raise KconfigParserError(self, - '%s: %s' % (e.strerror, include)) + try: + fp =3D open(incl_abs_fname, 'rt', encoding=3D'utf-8') + except IOError as e: + raise KconfigParserError(self, '%s: %s' % (e.strerror, inc= lude)) =20 - inf =3D self.data.incl_info - self.data.incl_info =3D { 'file': self.fname, 'line': self.line, - 'parent': inf } - KconfigParser(self.data).parse_file(fp) - self.data.incl_info =3D inf + inner =3D IncludeInfo(file=3Dself.fname, line=3Dself.line, par= ent=3Dself.incl_info) + type(self).parse(fp, self.data, inner) + finally: + fp.close() =20 # recursive descent parser ----- =20 --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540058; cv=none; d=zohomail.com; s=zohoarc; b=kkv7M7pFXHwtRr46s47casUFvK7+8+ZW3jPl+jUGLLCON34nyAvobWCt9kxfKh+nggvRiPG/wSMc8D91uoiGI0fTLeoLLavbRiqOULRSjWPny8wu12rMwuzrVUWostDYFX1qN6gl2UR42jHWPnMC8NxcE2RDHFHvnBb/NL+H1hY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540058; 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=RxQj7dwEKsTzDxDCaWO3n7Zs1ZcbChEssKhrGqpOOhI=; b=FgBtTo/g9K33NCL0kr8qnaAiZ6odiJbacw5d/BA1TLPs343JsTTKaTPwXQYrxVVFl/zF/vxff5RfU61vySP+hs3PJ6LvYRmU2nVnWgknj5GMNamf8IptCOCphdDlJdDq4cBnmyogPa76Ru3I/9y2t/G3zxHB3nNViWzwehUKk18= 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 1777540058777677.0808590087591; Thu, 30 Apr 2026 02:07:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLR-00080o-9Z; Thu, 30 Apr 2026 05:06:08 -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 1wINLM-0007zT-NE for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06: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 1wINLL-000398-1g for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:00 -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-196-YYPbdiF-MZm9UprYY9oA-A-1; Thu, 30 Apr 2026 05:05:55 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-488bd1ee9e7so7706765e9.1 for ; Thu, 30 Apr 2026 02:05:55 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a81b9493bsm47131345e9.0.2026.04.30.02.05.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539958; 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=RxQj7dwEKsTzDxDCaWO3n7Zs1ZcbChEssKhrGqpOOhI=; b=LE/jCjcDaBQFCD7KH8ePX+1rtbyaMBawBM17JjEiDmLufFo4ohjRmaiPBiBFnHr4TG45FH /cEx7iHo90MggDZGn+T4YlcY1NB09w4J3TGQ7Pcyrmh/bzCy+QoRK/oy1yl5VMQpwavl42 7vlNZknJpBVydfIKh7bWKI1SiGTdqV0= X-MC-Unique: YYPbdiF-MZm9UprYY9oA-A-1 X-Mimecast-MFC-AGG-ID: YYPbdiF-MZm9UprYY9oA-A_1777539954 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539954; x=1778144754; 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; bh=RxQj7dwEKsTzDxDCaWO3n7Zs1ZcbChEssKhrGqpOOhI=; b=NX7+RyUs32CEXwHoplDQqT+595f3qU4epPEz6Kz1T3ko7LZp58BsEQnHTlRoOpqNAC +WrRMFbenTKukQeOxz6ruwlglvcZO6fIsdM8BeiTDGrLSaBmG2IY0rG3FsJ8UN6v97wi GXDpsZ5S/8G00AcdsyXdRKPskATg2kLHcT7IKftJ1hElkVHkaXA0Q7e5Sg/lZocFiAhk toB23+TD5QtkjB0xV3TUaIOgIiRpgT2p8mzLopoSYg5MN1YuJwaHpGarmZ56rFi00IG5 G0jw2SMOjBk/qCcEATFN+h1qIM8Y3GtppmiPU460hGP801BolexXClXDOMtbXcDHhbye OEgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539954; x=1778144754; 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; bh=RxQj7dwEKsTzDxDCaWO3n7Zs1ZcbChEssKhrGqpOOhI=; b=sJ758ICH5eIs9UTEc5hLYTZ1qbblydy5Wr+1rax+VHaBJFWccuaHJnSRDX8ywtf8jf RcP9VY6lIo+AKo/hdI3j65ZvERKPzoC2S3nlv1sE0eWAc/oDgLKd57NVC5WCQ00fkiCg onuWf4s1LaTRezVCxwBkvSu1ZetioJySvRT8ZWiyvjpociM1HJMumeWR2MGMSIqXRF2D hqfLX4g05+rZcfUWncmeURX9cKBNLqu9MjgFcoAGBU7TgekdXbRGGCeEqWMPtYIXyLud fP2yRKIsOvV1T9Rn2w0GUchwzSbF8NhJqLeEVjs6lH+GP4oUhO6wBCF5vhMsy5ZXsMdd urJQ== X-Gm-Message-State: AOJu0YypmciW9m9+WirJJmvl1OR4Z6W++PW+lOol5JEKGgTpZNTKit6K wqaiGzCh02mts7xWsNmy9UMimmlCPA/j0emjaDabj5lsv9Nqi8o/pK++0OtwAL69+b6idWUCxcy x3DfmonciEOmvBpji7HHqYKXs0ZpdCMcsVJuQUtih5lyazBB7EXO261wGgety5J4mm7nbeolaXw YAxmyr3u2MQCpebZBBn4Zke2bmz1wwwoTLhZcVSMSG X-Gm-Gg: AeBDievyoTUto5ekx8HuGdCZMpJ3/JXxdQrYMe61F3d8W8dQWmTyOR/pAtRKwrCSUro eO9SF3dyJB+3YU1J8kA6Rj+8mqzWDjWBtj03e1bL+E5ETBF3+4qC13RhK5kXxO2y/+3lDoQZSXq 2r8SCwIi51JC1tWc683W+7PJB50sdFbJ/QgfHrabKZEbKfsOfjRmoMkeHBOmDwN2FKxERIhFc8h 5cUAveknncqdI9eeaAIV+0XBGSQkIK6zqeNgeKjxt7eEd4sVTt2liLLRyUbezljOzrSm8qwPnYU Xotf3o+liTQKpIk6QDwtv6nMa8ZXg8nG2ubpDekytfg0NJRIuyZtld+3DKMfELcAGknl7d9Y6X6 C+xZ1YXOTYsIvw2LWv8uwuRhz/oE4CkUlUy0AfkUkwfIEqYkremxus4zlJ/zsEQzUZtahtaQ5yq 6Vf+UDa4QGOj60Eg8zzsnJXTN7q5NGj29Gb2A= X-Received: by 2002:a05:600c:1987:b0:48a:568f:ae82 with SMTP id 5b1f17b1804b1-48a844415a9mr34928965e9.10.1777539953794; Thu, 30 Apr 2026 02:05:53 -0700 (PDT) X-Received: by 2002:a05:600c:1987:b0:48a:568f:ae82 with SMTP id 5b1f17b1804b1-48a844415a9mr34928505e9.10.1777539953223; Thu, 30 Apr 2026 02:05:53 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 09/13] minikconf: use .items() Date: Thu, 30 Apr 2026 11:05:30 +0200 Message-ID: <20260430090534.841894-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777540059989154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 07a5152ef54..0806a92c14d 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -244,8 +244,8 @@ def compute_config(self): debug_print(clause) =20 debug_print("\nDependency graph:") - for i in self.referenced_vars: - debug_print(i, "->", [str(x) for x in self.referenced_vars[i].= outgoing]) + for source, edges in self.referenced_vars.items(): + debug_print(source, "->", [str(x) for x in edges.outgoing]) =20 # The reverse of the depth-first order is the topological sort dfo =3D dict() --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540030; cv=none; d=zohomail.com; s=zohoarc; b=BqjKW0sMlK8Im3oOE/JpV+CEDdhP8cqQm24UQ+necFqX+776ma2wFk2gP6pQJc5A1EZMGDzRGZgeW0eM7dwV5lH/pwD7P2cqWc+8kml7HO6GqfkgovKKCn3b16W3rjhmWlEnr+0vjL5ZFrIpW9ioCR3J5xDotjWlwRqpTq8JXbs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540030; 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=YfM3ykU/X5hsW2yBakiqUkVOi+VtddjsDKcbCGz8Nts=; b=DLuLI5C7q4TEGSardUHOii9hPps5//4HnajPqzzXk+R8p/k9jFtjA0Osd3Zao4RFBPdKSNUaiiCo9/SheP2YgZ8Vl5EwZRi41f0zi/tZweTbNhQeCE4kf4o8Zj+zViCFvnHErwKAI2VN/6oLko9ekWIzjmz+gvMNQ5gQ0/ZfSd8= 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 1777540030334701.1516201731221; Thu, 30 Apr 2026 02:07:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLb-000880-5Z; Thu, 30 Apr 2026 05:06: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 1wINLP-00080i-5o for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:04 -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 1wINLN-00039W-PT for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:02 -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-645-q2g6f7rVNRqSB0v_wlvV9A-1; Thu, 30 Apr 2026 05:05:56 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488c2cc0cbaso6462555e9.3 for ; Thu, 30 Apr 2026 02:05:56 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a820c71c8sm86138485e9.4.2026.04.30.02.05.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539961; 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=YfM3ykU/X5hsW2yBakiqUkVOi+VtddjsDKcbCGz8Nts=; b=U17VUv4FjSlwlJwrEcAmOK9XWNjqQMcHuZpkDKay9+qe+17G3rpy5cq7c+aDBC4qbnv0lB qKenhlA1sGnpfEE9+duqHXwmbIYLcPDjhTS6NztX0c3cdQhZI3dAGyRkA4Z1MnsU5XxPZv eaips/Pahs2gD+ZRVzO95WDMgI9eKlY= X-MC-Unique: q2g6f7rVNRqSB0v_wlvV9A-1 X-Mimecast-MFC-AGG-ID: q2g6f7rVNRqSB0v_wlvV9A_1777539955 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539955; x=1778144755; 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; bh=YfM3ykU/X5hsW2yBakiqUkVOi+VtddjsDKcbCGz8Nts=; b=VFknH5FGLmw+QZx2pMjnTCBKQnpNA72qoSXnFHVOUXLSONMrMs7Qwtfrf5ibgI0G// fOVrhKBg2oANdnXX1B2/HpEdu6egKY0j/o1zkBd2/gY5FnVIk96lH0sL1OPiZt9WvH7Z 0y+Sqrf86TEts1WL/A+5lmPW5JSSv593wq8XKQfcHXi+ce2DLDbd25L83dQbgMUJ0mhn 0Qxret2bUBQg4t1OiZjmvC2euphetuutpYV/SYktF8SDS/79Aws+gH1N9BDvuHcMV739 /ZAZ327fSmY71NQPTKdqOtcM22TFRT1++xD7ZzcBQ8FQRiRsmAapbnbz68LGxJxqQYC/ wUmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539955; x=1778144755; 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; bh=YfM3ykU/X5hsW2yBakiqUkVOi+VtddjsDKcbCGz8Nts=; b=ZQLe8nyhnJaL38mOOrhQuImdLKvQ+HuU18q7RLpKe8Mz+HC0NscznHr4foT4RzbDuR JgG+2Sjp4CA3Qi9zav6jTG4L8YlL28YfkOYHTpbTAjP83iBzWkrvmLUMMhMh6HnVUhmd egdFKQY9JEfnECsiYHq4o0oN1HdPXrQ+VIaS/bCdFEplZfk19zbUel3YExUUl9TL7DAZ WKZNQPnOz9T/KausLZtCQkRjtYvMZWhaKx49hLjsaFxqMGcY0iOjd0RZIZUFDUNlzfLX Xob/oE/FBejEC+bgVartUtaNjFHf0PUzLSexIfpKwD725YaU4wKOs5wwT5W3CG2NerWt tivg== X-Gm-Message-State: AOJu0YwNQKgTwaJbT3cG1dZogqSYMrkWRBjZxtc00nFrTydfPOJtnZ9C wlSPEcoYExxybvIOUBpPv1kZZOk5OA5/h5i3avBIizSWNDOtzBF4QJLOuP5Ra++fV9D5xkJiESu rk/HMfZ5E2VzvEQbAkpGcaVjnehnEEMMwZRNHdEwEYxosQEHTdVEsNMtTiz/8geRa8F0gibVzA7 KS5VXuvFJhPeZb0bdIvlP+Cz5+cdUSXop/Oj27g1MJ X-Gm-Gg: AeBDievEdfP5impfSmp9PxIm6o/IY4azChmAbm/nrv96lIj1pRrpG+NW9aMzJDSQuLO y+/mAJSuRemM09MtNBhElQMq1CoFS3QArowQX2jkEhRnMruJA0ynNlUK43HJjkIOTThoppINIg/ S+0nvq6qfYD2hSvbVNgASKilDfDNWsDF3YnEh57/XH9K14HiwIS6skPUOrH3j0IvgObcBbuN8dv KmueuU5YvYT0MJTbVje3GFfPgQV5kwCVbUg7R+Vb/jlFJZkoFrlebSHors/8M50eAEu9StwggUn cDJziu9/scWheVRTjl4m49D5kuObpSV9wqBYmorm+QOWPxTbm0lZH2ASUWITiu2mRzL91XJDI4K uZIx6o3/R2VcC72Mt0U6bqMdt8faJdlaJ7JuFct2WI0tDt8NOKLq5oIbFcc8Qp43UJNRSug5Nt4 K3A/5s2jUWdFZDzPlPDqtc2qHZqDXUclrIvWo= X-Received: by 2002:a05:600c:154d:b0:485:39b2:a47c with SMTP id 5b1f17b1804b1-48a8452db0fmr34301475e9.25.1777539954946; Thu, 30 Apr 2026 02:05:54 -0700 (PDT) X-Received: by 2002:a05:600c:154d:b0:485:39b2:a47c with SMTP id 5b1f17b1804b1-48a8452db0fmr34300935e9.25.1777539954378; Thu, 30 Apr 2026 02:05:54 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 10/13] minikconf: pull main program into a function Date: Thu, 30 Apr 2026 11:05:31 +0200 Message-ID: <20260430090534.841894-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H4=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: 1777540031382158500 Content-Type: text/plain; charset="utf-8" Avoid pulluting the global namespace. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 0806a92c14d..e14b80e3ae7 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -664,7 +664,7 @@ def scan_token(self, ch): =20 return None =20 -if __name__ =3D=3D '__main__': +def main(): argv =3D sys.argv mode =3D defconfig if len(sys.argv) > 1: @@ -710,3 +710,6 @@ def scan_token(self, ch): for fname in data.previously_included: print ('%s: %s' % (argv[1], fname), file=3Ddeps) deps.close() + +if __name__ =3D=3D '__main__': + main() --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540054; cv=none; d=zohomail.com; s=zohoarc; b=krE7J35oqmItM2wA3dpQ73t0cAzfbfALpLCHR63LR927XHW1K2cXE9IawK62wY6uj1lOFxKgx/jQ1wK+QDxOGLDCqGrM15lIkkDETP0qSbhmOXD1DfZ9vdjHlj+TUYj2x+ow3Rne+vP3RdgojiqGgkXe2LVk9RYUpEjFVcqGLbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540054; 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=6z81I2Y73DiITnhPZaOx+GVYfzkf1mAhZbm2YUOmmF0=; b=VGWAxd71xjhWZkQIM9p/4ZcT9X85l7lgXu4WmIKK82JoS1r2a2LgzXls72PJRZo+e07P7Kc3g3SVJ5J5EeizrbqF38iP80cbkdOCRQBjplQ5ZbBzVXGS1xGd41sVzmQxKoxmSPjytmLRkCRf1UPFJaCDpO+ImOV6kRBw2+GsdZ0= 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 1777540054634215.05389337745987; Thu, 30 Apr 2026 02:07:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLa-000875-VS; Thu, 30 Apr 2026 05:06: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 1wINLO-00080Q-Nt for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:02 -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 1wINLM-00039J-Uq for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:02 -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-639-7f0re4-bO6-qhK2_zep41g-1; Thu, 30 Apr 2026 05:05:58 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-488dcaf2f2fso5319765e9.0 for ; Thu, 30 Apr 2026 02:05:58 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7b912ee3sm65330185e9.2.2026.04.30.02.05.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539960; 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=6z81I2Y73DiITnhPZaOx+GVYfzkf1mAhZbm2YUOmmF0=; b=CTtE9iMm1Q0SoIx+vbR9jMrwJnwc8H8zIqBfWBYbJMFK0VjJqBqRcQX5h/ge1U9thozIrZ LGMMegA1efcixRusg8Vql0GPN7KEgmYiv9pajjV4R3cAMoCOYL3sBjjsBk6ncLx6cJSigB zZ8xwQ/T+bTKbWQHBVhFzpJLoN/RzTs= X-MC-Unique: 7f0re4-bO6-qhK2_zep41g-1 X-Mimecast-MFC-AGG-ID: 7f0re4-bO6-qhK2_zep41g_1777539957 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539957; x=1778144757; 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; bh=6z81I2Y73DiITnhPZaOx+GVYfzkf1mAhZbm2YUOmmF0=; b=bJJvaGxeO7VmL0mGGPkmVWvOrB3BD3GzThMFs/+UXWJq1QjuCQbVy24I75pI/KLnwI DGtcJgYdfRH1O6gMoSONxg3gDxR9Vg6wQVPEnZRt4z6WLlUpPRzpT92ZsNOUuemOw4V5 uG0Uy2G3GEvcSy+VgCkuYuuW0KHJC+IIOBmqh1BwqyKS6W+TVTbuapNE83qo7n9K1Q+D MEIZ6SJoMh/0VnquPryRr695LCQi1rmKEVy3D4LxQGmp7CNeagDgwHRO2bAn0O/m2/D1 /1ZBPF9SLfrv//DLryRjBttnF3fWdPzm32p4bLWqhAuJsCKg1momnl7/CTziVaIKg15y AP3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539957; x=1778144757; 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; bh=6z81I2Y73DiITnhPZaOx+GVYfzkf1mAhZbm2YUOmmF0=; b=aM9JIBWBxtpvvyvtiQoCn5zu7qZM+gWAALXX0dKlD1LWBcJa5/AcpMKw5IIbJboLIt +dSE/ZRGIxO31jqdlFzrIRjXlGQdDY6BHazhhI/X1kxPbQp7bHYkOAVB1lI5Fnu+ceYP Lu91UCWUo2AqesDzlUNCZwR7Xiogg/8l2tWwKB4YQp4KLyU6Ey4eQ72IaR3ipHy9gfWE 8qtDGLXz6o1JGGwNUeAH0gpdVanP+v7IRz7HmdTvuwFd+kdpdCcyrKisTORho7HRD+lF +vo2dkv/eP9UCejFqD1cQ/dka6PF8jWZgzJ3RUfp4oyNwcHVlbQ/K776SOEYH2jlgL5L KY9w== X-Gm-Message-State: AOJu0YxU6cin8EQONb2lz7Ogt1mRfGi4eOVx72zLOsaSkf6v18XrUSYn XYNHm2WsPnTKFVuVSV1SDyIkPXAxvqAU2Wa7DjP9VljuutFK2m6p/LkBIAqeR9ThpG9OsaLoxsQ YQxppqtW3pZE0uEm0wSSxVBJSg/Mmu8OCnIDNC6cUmwyVT4EmeO7/Qlsuy91ivepUVlvvl7mlhg Jd2mDrcjgupqEUdKXuKDdTY9S0vaQdowY1VBriHsjw X-Gm-Gg: AeBDiesm8OAyfxmz5gOenCLHLuOQv82sjhViTiY1M4kILE2hbLvcpPq9ASix04eoj4O Qg0ss55Ovksw8ZhIr9x30MNanbc6nR1465w07If2G4qgQmZz+zeq/EB2fn+ZP4ogPLZOUaYZ8Hm aA0QyeiWAU53EsrWT2RABi4DCaVVI57FwXoMK8B3sGS/0lNdfI+xuaiNlysxAuC5YreKyB8aPiu LeGcm431zgMs3OmDYeyFK86+F/r1ZZBplmOCMH72nUfFyPQajh/uRMzo2QJEHzwC36cn5Fryk+a H+T+yQZ+qIXU/NBMkvDGaKK2MgHguObUoILuKAWgxbX0tjPn6uOhHuHl931PebXdFxsdM4C7OZ5 2VuL8cb9GnE49tyrJxIh0n0l7dU2TLyikZ5nqdJDs1d1SfxJXLvvxP9NhpZ4DA8sgbnSgkLtUEm f+Ie99OfQTL6t0tKljXyCWtOI/7/ZmaM6JnJg= X-Received: by 2002:a05:600c:8599:b0:488:d6eb:e63c with SMTP id 5b1f17b1804b1-48a84444078mr24120325e9.15.1777539956879; Thu, 30 Apr 2026 02:05:56 -0700 (PDT) X-Received: by 2002:a05:600c:8599:b0:488:d6eb:e63c with SMTP id 5b1f17b1804b1-48a84444078mr24119795e9.15.1777539956324; Thu, 30 Apr 2026 02:05:56 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 11/13] minikconf: remove unnecessary semicolons Date: Thu, 30 Apr 2026 11:05:32 +0200 Message-ID: <20260430090534.841894-12-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, UPPERCASE_50_75=0.008 autolearn=no 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: 1777540055660154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index e14b80e3ae7..5fb42c8f760 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -325,25 +325,25 @@ def do_imply(self, var, symbol, cond=3DNone): # tokens table TOKENS =3D {} TOK_NONE =3D -1 -TOK_LPAREN =3D 0; TOKENS[TOK_LPAREN] =3D '"("'; -TOK_RPAREN =3D 1; TOKENS[TOK_RPAREN] =3D '")"'; -TOK_EQUAL =3D 2; TOKENS[TOK_EQUAL] =3D '"=3D"'; -TOK_AND =3D 3; TOKENS[TOK_AND] =3D '"&&"'; -TOK_OR =3D 4; TOKENS[TOK_OR] =3D '"||"'; -TOK_NOT =3D 5; TOKENS[TOK_NOT] =3D '"!"'; -TOK_DEPENDS =3D 6; TOKENS[TOK_DEPENDS] =3D '"depends"'; -TOK_ON =3D 7; TOKENS[TOK_ON] =3D '"on"'; -TOK_SELECT =3D 8; TOKENS[TOK_SELECT] =3D '"select"'; -TOK_IMPLY =3D 9; TOKENS[TOK_IMPLY] =3D '"imply"'; -TOK_CONFIG =3D 10; TOKENS[TOK_CONFIG] =3D '"config"'; -TOK_DEFAULT =3D 11; TOKENS[TOK_DEFAULT] =3D '"default"'; -TOK_Y =3D 12; TOKENS[TOK_Y] =3D '"y"'; -TOK_N =3D 13; TOKENS[TOK_N] =3D '"n"'; -TOK_SOURCE =3D 14; TOKENS[TOK_SOURCE] =3D '"source"'; -TOK_BOOL =3D 15; TOKENS[TOK_BOOL] =3D '"bool"'; -TOK_IF =3D 16; TOKENS[TOK_IF] =3D '"if"'; -TOK_ID =3D 17; TOKENS[TOK_ID] =3D 'identifier'; -TOK_EOF =3D 18; TOKENS[TOK_EOF] =3D 'end of file'; +TOK_LPAREN =3D 0; TOKENS[TOK_LPAREN] =3D '"("' +TOK_RPAREN =3D 1; TOKENS[TOK_RPAREN] =3D '")"' +TOK_EQUAL =3D 2; TOKENS[TOK_EQUAL] =3D '"=3D"' +TOK_AND =3D 3; TOKENS[TOK_AND] =3D '"&&"' +TOK_OR =3D 4; TOKENS[TOK_OR] =3D '"||"' +TOK_NOT =3D 5; TOKENS[TOK_NOT] =3D '"!"' +TOK_DEPENDS =3D 6; TOKENS[TOK_DEPENDS] =3D '"depends"' +TOK_ON =3D 7; TOKENS[TOK_ON] =3D '"on"' +TOK_SELECT =3D 8; TOKENS[TOK_SELECT] =3D '"select"' +TOK_IMPLY =3D 9; TOKENS[TOK_IMPLY] =3D '"imply"' +TOK_CONFIG =3D 10; TOKENS[TOK_CONFIG] =3D '"config"' +TOK_DEFAULT =3D 11; TOKENS[TOK_DEFAULT] =3D '"default"' +TOK_Y =3D 12; TOKENS[TOK_Y] =3D '"y"' +TOK_N =3D 13; TOKENS[TOK_N] =3D '"n"' +TOK_SOURCE =3D 14; TOKENS[TOK_SOURCE] =3D '"source"' +TOK_BOOL =3D 15; TOKENS[TOK_BOOL] =3D '"bool"' +TOK_IF =3D 16; TOKENS[TOK_IF] =3D '"if"' +TOK_ID =3D 17; TOKENS[TOK_ID] =3D 'identifier' +TOK_EOF =3D 18; TOKENS[TOK_EOF] =3D 'end of file' =20 class KconfigParserError(Exception): def __init__(self, parser, msg, tok=3DNone): --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540048; cv=none; d=zohomail.com; s=zohoarc; b=mSThRzEjzWgw8qRnntEN2DmGv2hjp9ZGg6Ltt/xBkzg8Qr+83qVxOsfyWsgTy9WyS5ruTSSe8k7i/KZU7hEV4Z8nnrCnRRexlINm/4l7VzYCK1M+cn6YHHIaa0X2NZ0dRuM76RiSpeE6e4tIbVpcy4QbPz4cdxegpm99ZjFoZ6k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540048; 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=qvOzDfKMqp1ekADGqACG/Bzi+q6o7xSLS2++veRRDN0=; b=QFD9/zTv7dc6Mvg8xgxvxNrybPO9sZEt0ZrWDIt1ky5stANx1EqFiLnCf4l7MyKuJJsdtAdcPyQlqW5SIkZQXbOCPLdswMg9P39AH/G6OIcMsEMP1LDzRarIPkcjmaSpoCrZXD8Ys1TgyreEaNwKJGe9ezRi0JUfw0gPdIbGwpw= 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 1777540048783869.232676149639; Thu, 30 Apr 2026 02:07:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLb-00089I-QH; Thu, 30 Apr 2026 05:06: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 1wINLR-00081g-6J for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:05 -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 1wINLO-00039i-GS for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:04 -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-360-BRMW4z7rP5W_Vza_t7_nPA-1; Thu, 30 Apr 2026 05:06:00 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-488d56f87e8so5751305e9.0 for ; Thu, 30 Apr 2026 02:05:59 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a822be902sm59042405e9.6.2026.04.30.02.05.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539961; 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=qvOzDfKMqp1ekADGqACG/Bzi+q6o7xSLS2++veRRDN0=; b=e6l0MkTbjQKs+NWkLnZOuB7iUJkHVVFSAMi6KxOF5lViVCFe0H4C4rIbLTbmcTO8fl4QGX sY07FvOWdhT/gsU6XFMec+oYAaUunRoNiNkLWNQCYKCe+Dx6LlLWQdWA34QatZvIFQ7czv rja6aAAa8gCeZi6FpUtQSGvqemx7u5U= X-MC-Unique: BRMW4z7rP5W_Vza_t7_nPA-1 X-Mimecast-MFC-AGG-ID: BRMW4z7rP5W_Vza_t7_nPA_1777539959 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539958; x=1778144758; 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; bh=qvOzDfKMqp1ekADGqACG/Bzi+q6o7xSLS2++veRRDN0=; b=AsyBxGQWxMP5GSvFSNeC03zNbF6zjnkrEkazjNOGnptE+9JMDj2aRe5DDGyhYjm7HF b+MMKBaUKNUGN3jgS6VhSubXStGBN3wqpqSmUNhlTSvzoNLLBctXUE1WP9Zs+JWUpg0D 9ETdPaSt9hTskNx/0gelBkWY7cabOpQrDW7eAVPbvykGYrexkS6sBdebCBruvU/Ycp7H ejw1GFndwTN7PjTGVsszK+OLyGDk24fauBf/CLeH2Rb1L2To40g5kJbuyrjsPs5R3wvT 67v6aGE41nB7jo3yLV5d9nQ9p4tKa2m/M/lBD3jvkkTYxGFg1t7HxiNfC2ZBpTBSnaeI 7hDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539958; x=1778144758; 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; bh=qvOzDfKMqp1ekADGqACG/Bzi+q6o7xSLS2++veRRDN0=; b=PdSd9jCUXHVmbWsFcJSGHa8OYe/uhZ5Sg+s6WG2gLTGi+Rp44mAgJwCo6huSUalx5U vQfJr+ZbmaQ/lWpvuAHiUL4Y2AnU9OjZPyFhM9K+ZU1HeIQP7mNL01rdWyhngVKaItvB 8R7pnHxdgB136HPRobZ/ZLKuCFFunGzKkB/MOzp4pvl/C6gPMszmvIWKUldwOaGxzyfk KJmz9VGdLI0CO5CTcRd4uN402YlfCjcxujD/qZ3+z6gJeVhEzFdlABzuji0oJm5aqzG3 7vyNqn93z2TiwTMqhPnFvBGFqT8R8SXBSMACd3ioSe6QAlUbtAeGxvwAKqR4qiQgqRak 2n7w== X-Gm-Message-State: AOJu0Yy7ScZVcpusqFqtmtKHuJ7YOF/HIlx2+rCbutuawUbCZ7I+Y1Xe 5p+K5T+Hqd1hmvJfpnqmc8P/4TqKcWIdiwHXZ1k6+YuLhujvprpTfpJPR3kTid+i37rce1/X+x6 gAgr+CGVJLRV//6X8eK+r81hfxT6L36Xqk2W+rr9CO98iML1/6BN/94fuZ5pDjbYqsFSlFG1sxw 4dcW/hUEvaLCr23iE0rrHNfCN7WNXKa9gaasVEpdqj X-Gm-Gg: AeBDievpqjFr6uaQlOFF71iuUQPEoksTzuxQ2+CKUet8g0Rr+hSe8tXZXbb2eSuUe/J wU4rM5wMMgiJcn6GAaR5HzFOtsInp0mfD5iFaH4gyLG0ZGLfYu5m5U/cij/vKxEmmjBnmAIKe4v 8TvL26C0rdwGnYuN1+vIqkj8VkwVIM9rUtfgkLPNinVBWUMB0Rj7bxyQe7VGr9hqpKUeNRLmXnB xB/EPAibCXJK+RyVo9SpvRufw5JicoRf3Ki4cq+jxjocgeqKOjqhJCbLgyW6Ya53e1ExXpOT4QR hVXzb3bgilzRliRi1dPCdNvqvG7rly0zaqTGh4b3rCGQw0Frpwk+hmq0a+4SIAwk3fvi3ZqLO12 XMk+wVSoiSmyGJ428TWstM0u78Fg0hskj5t2CvL8y82tkubOS6TE+wE7DpEo+BbH4WnsuRhH8hO 0uQBGDQtrKF20TrXo6omCJM0FYYxugVzYmCVo= X-Received: by 2002:a05:600c:a593:b0:489:e126:b757 with SMTP id 5b1f17b1804b1-48a8447c7dfmr18250935e9.25.1777539958006; Thu, 30 Apr 2026 02:05:58 -0700 (PDT) X-Received: by 2002:a05:600c:a593:b0:489:e126:b757 with SMTP id 5b1f17b1804b1-48a8447c7dfmr18250615e9.25.1777539957376; Thu, 30 Apr 2026 02:05:57 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 12/13] minikconf: replace else with early return and avoid unnecessary else Date: Thu, 30 Apr 2026 11:05:33 +0200 Message-ID: <20260430090534.841894-13-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777540049605154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- scripts/minikconf.py | 79 ++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 5fb42c8f760..7a2fe865484 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -430,24 +430,24 @@ def parse_y_or_n(self): =20 # var: ID def parse_var(self): - if self.tok =3D=3D TOK_ID: - val =3D self.val - self.get_token() - return self.data.do_var(val) - else: + if self.tok !=3D TOK_ID: raise KconfigParserError(self, 'Expected identifier') + val =3D self.val + assert val is not None + self.get_token() + return self.data.do_var(val) =20 # assignment_var: ID (starting with "CONFIG_") def parse_assignment_var(self): - if self.tok =3D=3D TOK_ID: - val =3D self.val - if not val.startswith("CONFIG_"): - raise KconfigParserError(self, - 'Expected identifier starting with "CONFIG_"', = TOK_NONE) - self.get_token() - return self.data.do_var(val[7:]) - else: + if self.tok !=3D TOK_ID: raise KconfigParserError(self, 'Expected identifier') + val =3D self.val + assert val is not None + if not val.startswith("CONFIG_"): + raise KconfigParserError(self, + 'Expected identifier starting with "CONFIG_"', TOK_= NONE) + self.get_token() + return self.data.do_var(val[7:]) =20 # assignment: var EQUAL y_or_n def parse_assignment(self): @@ -495,11 +495,10 @@ def parse_expr(self): # condition: IF expr # | empty def parse_condition(self): - if self.tok =3D=3D TOK_IF: - self.get_token() - return self.parse_expr() - else: + if self.tok !=3D TOK_IF: return None + self.get_token() + return self.parse_expr() =20 # property: DEFAULT y_or_n condition # | DEPENDS ON expr @@ -604,41 +603,41 @@ def scan_token(self, ch): if ch =3D=3D '#': self.cursor =3D self.src.find('\n', self.cursor) return None - elif ch =3D=3D '=3D': + if ch =3D=3D '=3D': return TOK_EQUAL - elif ch =3D=3D '(': + if ch =3D=3D '(': return TOK_LPAREN - elif ch =3D=3D ')': + if ch =3D=3D ')': return TOK_RPAREN - elif ch =3D=3D '&' and self.src[self.pos+1] =3D=3D '&': + if ch =3D=3D '&' and self.src[self.pos+1] =3D=3D '&': self.cursor +=3D 1 return TOK_AND - elif ch =3D=3D '|' and self.src[self.pos+1] =3D=3D '|': + if ch =3D=3D '|' and self.src[self.pos+1] =3D=3D '|': self.cursor +=3D 1 return TOK_OR - elif ch =3D=3D '!': + if ch =3D=3D '!': return TOK_NOT - elif ch =3D=3D 'd' and self.check_keyword("epends"): + if ch =3D=3D 'd' and self.check_keyword("epends"): return TOK_DEPENDS - elif ch =3D=3D 'o' and self.check_keyword("n"): + if ch =3D=3D 'o' and self.check_keyword("n"): return TOK_ON - elif ch =3D=3D 's' and self.check_keyword("elect"): + if ch =3D=3D 's' and self.check_keyword("elect"): return TOK_SELECT - elif ch =3D=3D 'i' and self.check_keyword("mply"): + if ch =3D=3D 'i' and self.check_keyword("mply"): return TOK_IMPLY - elif ch =3D=3D 'c' and self.check_keyword("onfig"): + if ch =3D=3D 'c' and self.check_keyword("onfig"): return TOK_CONFIG - elif ch =3D=3D 'd' and self.check_keyword("efault"): + if ch =3D=3D 'd' and self.check_keyword("efault"): return TOK_DEFAULT - elif ch =3D=3D 'b' and self.check_keyword("ool"): + if ch =3D=3D 'b' and self.check_keyword("ool"): return TOK_BOOL - elif ch =3D=3D 'i' and self.check_keyword("f"): + if ch =3D=3D 'i' and self.check_keyword("f"): return TOK_IF - elif ch =3D=3D 'y' and self.check_keyword(""): + if ch =3D=3D 'y' and self.check_keyword(""): return TOK_Y - elif ch =3D=3D 'n' and self.check_keyword(""): + if ch =3D=3D 'n' and self.check_keyword(""): return TOK_N - elif (ch =3D=3D 's' and self.check_keyword("ource")) or \ + if (ch =3D=3D 's' and self.check_keyword("ource")) or \ ch =3D=3D 'i' and self.check_keyword("nclude"): # source FILENAME # include FILENAME @@ -648,21 +647,23 @@ def scan_token(self, ch): self.cursor =3D self.src.find('\n', self.cursor) self.val =3D self.src[start:self.cursor] return TOK_SOURCE - elif ch.isalnum(): + if ch.isalnum(): # identifier while self.src[self.cursor].isalnum() or self.src[self.cursor]= =3D=3D '_': self.cursor +=3D 1 self.val =3D self.src[self.pos:self.cursor] return TOK_ID - elif ch =3D=3D '\n': + if ch =3D=3D '\n': if self.cursor =3D=3D len(self.src): return TOK_EOF self.line +=3D 1 self.line_pos =3D self.cursor - elif not ch.isspace(): - raise KconfigParserError(self, 'invalid input', ch) + return None + if ch.isspace(): + return None + + raise KconfigParserError(self, 'invalid input', ch) =20 - return None =20 def main(): argv =3D sys.argv --=20 2.54.0 From nobody Sat May 30 19:22:56 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=1777540036; cv=none; d=zohomail.com; s=zohoarc; b=LaHkQR03UEo4nbEd9rRcSfImsvYKguhiKfKzolL14o4O9lutsQ7g3daoqAcEElzy1XCvWVt8/rILUzKP62AltsN5UC+8/EDFTXr9EAbkmNQy2W8Sq+qq4vJY5Ah56WT4hqJwNzehbG3EKvunagfIq9odpE4SRfMmlJxvEAZ+1sE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1777540036; 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=LVORDiAtsyF67SvxbxKKHAquX3JZKNCa8iS/ZxVnKeU=; b=JTgePN9svWCaLoEqfuUBTASK9eZLBAXigp39K4N23VT8gdno1mky5z0CyP2bHPdJ+n+mrnya8Aj7Ntasv28UwL39skcJgseJ3sEVLbMY9bXE/XUstB87nHh6KdsWVCiUzg1o78WElIjdPJE0s1gh/O3P3mPcI4SI1Y0LecwlkEc= 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 1777540036593152.24038936261616; Thu, 30 Apr 2026 02:07:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wINLe-0008Ku-J0; Thu, 30 Apr 2026 05:06: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 1wINLT-00082M-Mg for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06: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 1wINLQ-0003AB-V6 for qemu-devel@nongnu.org; Thu, 30 Apr 2026 05:06:07 -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-460-lk1blbmePDOfUZa2tdNuHw-1; Thu, 30 Apr 2026 05:06:02 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-43d121c4271so464108f8f.3 for ; Thu, 30 Apr 2026 02:06:01 -0700 (PDT) Received: from [192.168.10.48] ([151.49.85.67]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-447b7217c56sm11675508f8f.20.2026.04.30.02.05.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 02:05:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777539964; 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=LVORDiAtsyF67SvxbxKKHAquX3JZKNCa8iS/ZxVnKeU=; b=ivY3ZPGmpIqK+V8H46xTcMz2jOrUDf7gd8QM+MFpdNhJrz2XSdAnyAxTD4qMgOfqKXXHC0 SOVAJZx++sqPrfRgRidDosw+FsYKGU8vCt7jiO1YH40FE4oW/3byEV4o0a3B1X/qQbnDZ4 M9z0gxOtGAXV1tRq5wrEHi4Baq3TK04= X-MC-Unique: lk1blbmePDOfUZa2tdNuHw-1 X-Mimecast-MFC-AGG-ID: lk1blbmePDOfUZa2tdNuHw_1777539961 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777539960; x=1778144760; 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; bh=LVORDiAtsyF67SvxbxKKHAquX3JZKNCa8iS/ZxVnKeU=; b=i8YQhOYpMXMKA1lpkkv8W8uQTs1wJtoUmvLQGJGPKK35p4YfDEvxQ4sgdlBEn0ys3C X2vnk71lPuavk3LuKmhbCjF3oek/C5e5z45AMxz7Dufm33Jqm8afzA2SW1SVQutCAzVR arWJG3jsBADtpJ3AcVyt/+rEqOId20onsq2neVG3RNJcui1mCxtjb3Zv0t+7CCBzvkxq d7+CkSsu/wbQ+Nf+xxmuDz0jewqmgViwvvrCmXnJjFq0X3uIID96EPV17QONsovdtnNc uvGruK31vjfm2TonV+G1qCR0GB/v2nNYKdExzXxkKEAtrAxeNydHGEdzBa1NHFI9k3Xe B6JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777539960; x=1778144760; 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; bh=LVORDiAtsyF67SvxbxKKHAquX3JZKNCa8iS/ZxVnKeU=; b=hDOtdlrl2Nw6SO3ou/H/hWuj9AHURMTesmvncV1hGt9O41wO2fO+oidyEOpPCRCuE8 Zj9vopdZWRF/HVBs44PSoPfStISV+BMqfcSGljewEY7tKJD1yNFrd9wkM40F9wVDGJPA 8CkuTW/EWUYn7vV489RGrnOru7p7U0nzX/s2mZddjbhNZ5jFU+XyvuzFuchTw0B56Xvp lFROSV6lneAfzx2fr/fQ5S9UvnPnOQ7AXLf/SlVCZoEUiLmlYEzG1ICOz4vJXGITekwE BowWNSNua38vtMbb5l5koRyEn/THK60MXl0ziadziXgyu1KvzsZql32MgPEcB1mazTFv IuAA== X-Gm-Message-State: AOJu0Yx3TNzC0JdI8qKqrY2/af+YuEPGFh8F3bABpYAlyhl1jH7H8Giw Rl25wZ5d223guiA9/p6+lB+JJ9Mu3QKlI2QKUJI1HiQObp90yzulxZ8BywRJYa+Ran1EW6f0QG4 kbzQM/++JLeepQUPMV+mk3cGFRZVdOTzbme8Mf2hv8REJ3h+3ZxMIP8wYyaoPw2ztEvbmhpiaEW gHBi1Qu2q7gUdw+2s1yTw06ZSRynLhvMfES3yESl4H X-Gm-Gg: AeBDieuJ7zHHoV3rEp89Y6REW1hnz5/dVSmULzp8uGWej+1oiq5+2UDdcO3aa3rvIhK YH8VPTlh2IjZuZ/mzRVx7AfVq3JnwJiCOTCPHf5XfK+mvOqONtz0+hXQgahIFXIfX88C6NG1Mkh ZE3LAHQ+WpfaQEkbhWG3MEi9ZqxiBXqwtXrjGWwgatPsiALmtciz8vhnjQBihK9TAF4ljJKOO08 EP0AcGltr8TADNYbqtFxHNtkrTy2oWkcFTwIxCtmVqk2shIk27G+FjJwNMi2Slqzg9Lzy4+yyIT KsR7rfh8IyBm0VtPNJ4xdIThwo9GUu2lSgmLyppY5sbcz39G2O7dkbjfzDeH4kw/Ug9WcVp1+PH fvvth0gBGymxHKJ7wluj7H3NkAwAegnX8TyBaLJb78K7xek4N8T7JqMEU+nBxh3udHOfjM5SETH IF8oiWebTjuridMiGIv5Urhy87RrJWztNVfMM= X-Received: by 2002:a5d:588b:0:b0:43f:e7c9:2402 with SMTP id ffacd0b85a97d-4493dbdbc78mr3258713f8f.3.1777539959858; Thu, 30 Apr 2026 02:05:59 -0700 (PDT) X-Received: by 2002:a5d:588b:0:b0:43f:e7c9:2402 with SMTP id ffacd0b85a97d-4493dbdbc78mr3258584f8f.3.1777539958650; Thu, 30 Apr 2026 02:05:58 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 13/13] minikconf: add mypy annotations Date: Thu, 30 Apr 2026 11:05:34 +0200 Message-ID: <20260430090534.841894-14-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260430090534.841894-1-pbonzini@redhat.com> References: <20260430090534.841894-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_H5=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: 1777540039747154101 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- python/tests/linters.py | 3 + scripts/minikconf.py | 222 ++++++++++++++++++++++------------------ 2 files changed, 124 insertions(+), 101 deletions(-) diff --git a/python/tests/linters.py b/python/tests/linters.py index 4ce4e8a9805..82b88aebb20 100644 --- a/python/tests/linters.py +++ b/python/tests/linters.py @@ -65,6 +65,9 @@ def test_isort_qapi_sphinx(self): ] ) =20 + def test_mypy_minikconf(self): + check_call([sys.executable, "-m", "mypy", "../scripts/minikconf.py= "]) + def test_mypy_pkg(self): check_call([sys.executable, "-m", "mypy", "-p", "qemu"]) =20 diff --git a/scripts/minikconf.py b/scripts/minikconf.py index 7a2fe865484..6d7dbbf2ccd 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -11,35 +11,40 @@ # or, at your option, any later version. See the COPYING file in # the top-level directory. =20 +from __future__ import annotations + import os import random import re import sys +import typing as T from dataclasses import dataclass =20 __all__ =3D [ 'KconfigDataError', 'KconfigParserError', 'KconfigData', 'KconfigParser' , 'defconfig', 'allyesconfig', 'allnoconfig', 'randconfig' ] =20 +Mangler =3D T.Callable[[bool], bool] + @dataclass class IncludeInfo: file: str line: int parent: IncludeInfo | None =20 - def __iter__(self): - inf =3D self + def __iter__(self) -> T.Iterator[str]: + inf: IncludeInfo | None =3D self while inf is not None: yield "%s:%d" % (inf.file, inf.line) inf =3D inf.parent =20 - def error_path(self): + def error_path(self) -> str: res =3D "" for loc in self: res =3D "In file included from %s:\n" % loc + res return res =20 -def debug_print(*args): +def debug_print(*args: object) -> None: #print('# ' + (' '.join(str(x) for x in args))) pass =20 @@ -54,81 +59,81 @@ def debug_print(*args): # ------------------------------------------- =20 class KconfigDataError(Exception): - def __init__(self, msg): + def __init__(self, msg: str) -> None: self.msg =3D msg =20 - def __str__(self): + def __str__(self) -> str: return self.msg =20 -allyesconfig =3D lambda x: True -allnoconfig =3D lambda x: False -defconfig =3D lambda x: x -randconfig =3D lambda x: random.randint(0, 1) =3D=3D 1 +allyesconfig: Mangler =3D lambda x: True +allnoconfig: Mangler =3D lambda x: False +defconfig: Mangler =3D lambda x: x +randconfig: Mangler =3D lambda x: random.randint(0, 1) =3D=3D 1 =20 class KconfigData: class Expr: - def __and__(self, rhs): + def __and__(self, rhs: KconfigData.Expr) -> KconfigData.Expr: return KconfigData.AND(self, rhs) - def __or__(self, rhs): + def __or__(self, rhs: KconfigData.Expr) -> KconfigData.Expr: return KconfigData.OR(self, rhs) - def __invert__(self): + def __invert__(self) -> KconfigData.Expr: return KconfigData.NOT(self) =20 # Abstract methods - def add_edges_to(self, var): + def add_edges_to(self, var: KconfigData.Var) -> None: pass - def evaluate(self): + def evaluate(self) -> bool: assert False =20 class AND(Expr): - def __init__(self, lhs, rhs): + def __init__(self, lhs: KconfigData.Expr, rhs: KconfigData.Expr) -= > None: self.lhs =3D lhs self.rhs =3D rhs - def __str__(self): + def __str__(self) -> str: return "(%s && %s)" % (self.lhs, self.rhs) =20 - def add_edges_to(self, var): + def add_edges_to(self, var: KconfigData.Var) -> None: self.lhs.add_edges_to(var) self.rhs.add_edges_to(var) - def evaluate(self): + def evaluate(self) -> bool: return self.lhs.evaluate() and self.rhs.evaluate() =20 class OR(Expr): - def __init__(self, lhs, rhs): + def __init__(self, lhs: KconfigData.Expr, rhs: KconfigData.Expr) -= > None: self.lhs =3D lhs self.rhs =3D rhs - def __str__(self): + def __str__(self) -> str: return "(%s || %s)" % (self.lhs, self.rhs) =20 - def add_edges_to(self, var): + def add_edges_to(self, var: KconfigData.Var) -> None: self.lhs.add_edges_to(var) self.rhs.add_edges_to(var) - def evaluate(self): + def evaluate(self) -> bool: return self.lhs.evaluate() or self.rhs.evaluate() =20 class NOT(Expr): - def __init__(self, lhs): + def __init__(self, lhs: KconfigData.Expr) -> None: self.lhs =3D lhs - def __str__(self): + def __str__(self) -> str: return "!%s" % (self.lhs) =20 - def add_edges_to(self, var): + def add_edges_to(self, var: KconfigData.Var) -> None: self.lhs.add_edges_to(var) - def evaluate(self): + def evaluate(self) -> bool: return not self.lhs.evaluate() =20 class Var(Expr): - def __init__(self, name): + def __init__(self, name: str) -> None: self.name =3D name - self.value =3D None - self.outgoing =3D set() - self.clauses_for_var =3D list() - def __str__(self): + self.value: bool | None =3D None + self.outgoing: set[KconfigData.Var] =3D set() + self.clauses_for_var: list[KconfigData.Clause] =3D [] + def __str__(self) -> str: return self.name =20 - def has_value(self): + def has_value(self) -> bool: return self.value is not None - def set_value(self, val, clause): + def set_value(self, val: bool, clause: KconfigData.Clause) -> None: self.clauses_for_var.append(clause) if self.has_value() and self.value !=3D val: print("The following clauses were found for " + self.name,= file=3Dsys.stderr) @@ -139,7 +144,8 @@ def set_value(self, val, clause): self.value =3D val =20 # depth first search of the dependency graph - def dfs(self, visited, f): + def dfs(self, visited: set[KconfigData.Var], + f: T.Callable[[KconfigData.Var], None]) -> None: if self in visited: return visited.add(self) @@ -147,87 +153,89 @@ def dfs(self, visited, f): v.dfs(visited, f) f(self) =20 - def add_edges_to(self, var): + def add_edges_to(self, var: KconfigData.Var) -> None: self.outgoing.add(var) - def evaluate(self): + def evaluate(self) -> bool: if not self.has_value(): raise KconfigDataError('cycle found including %s' % self) + assert self.value is not None return self.value =20 class Clause: - def __init__(self, dest): + def __init__(self, dest: KconfigData.Var) -> None: self.dest =3D dest - def priority(self): + def priority(self) -> int: return 0 - def process(self): + def process(self) -> None: pass =20 class AssignmentClause(Clause): - def __init__(self, dest, value): + def __init__(self, dest: KconfigData.Var, value: bool) -> None: KconfigData.Clause.__init__(self, dest) self.value =3D value - def __str__(self): + def __str__(self) -> str: return "CONFIG_%s=3D%s" % (self.dest, 'y' if self.value else '= n') =20 - def process(self): + def process(self) -> None: self.dest.set_value(self.value, self) =20 class DefaultClause(Clause): - def __init__(self, dest, value, cond=3DNone): + def __init__(self, dest: KconfigData.Var, value: bool, + cond: KconfigData.Expr | None =3D None) -> None: KconfigData.Clause.__init__(self, dest) self.value =3D value self.cond =3D cond if self.cond is not None: self.cond.add_edges_to(self.dest) - def __str__(self): + def __str__(self) -> str: value =3D 'y' if self.value else 'n' if self.cond is None: return "config %s default %s" % (self.dest, value) else: return "config %s default %s if %s" % (self.dest, value, s= elf.cond) =20 - def priority(self): + def priority(self) -> int: # Defaults are processed just before leaving the variable return -1 - def process(self): + def process(self) -> None: if not self.dest.has_value() and \ (self.cond is None or self.cond.evaluate()): self.dest.set_value(self.value, self) =20 class DependsOnClause(Clause): - def __init__(self, dest, expr): + def __init__(self, dest: KconfigData.Var, expr: KconfigData.Expr) = -> None: KconfigData.Clause.__init__(self, dest) self.expr =3D expr self.expr.add_edges_to(self.dest) - def __str__(self): + def __str__(self) -> str: return "config %s depends on %s" % (self.dest, self.expr) =20 - def process(self): + def process(self) -> None: if not self.expr.evaluate(): self.dest.set_value(False, self) =20 class SelectClause(Clause): - def __init__(self, dest, cond): + def __init__(self, dest: KconfigData.Var, cond: KconfigData.Expr) = -> None: KconfigData.Clause.__init__(self, dest) self.cond =3D cond self.cond.add_edges_to(self.dest) - def __str__(self): + def __str__(self) -> str: return "select %s if %s" % (self.dest, self.cond) =20 - def process(self): + def process(self) -> None: if self.cond.evaluate(): self.dest.set_value(True, self) =20 - def __init__(self, value_mangler=3Ddefconfig): + def __init__(self, value_mangler: Mangler =3D defconfig) -> None: self.value_mangler =3D value_mangler - self.previously_included =3D [] - self.defined_vars =3D set() - self.referenced_vars =3D dict() - self.clauses =3D list() + self.previously_included: list[str] =3D [] + self.defined_vars: set[str] =3D set() + self.referenced_vars: dict[str, KconfigData.Var] =3D {} + self.clauses: list[KconfigData.Clause] =3D [] =20 # semantic analysis ------------- =20 - def check_undefined(self): + def check_undefined(self) -> bool: undef =3D False for i in self.referenced_vars: if i not in self.defined_vars: @@ -235,7 +243,7 @@ def check_undefined(self): undef =3D True return undef =20 - def compute_config(self): + def compute_config(self) -> dict[str, bool]: if self.check_undefined(): raise KconfigDataError("there were undefined symbols") =20 @@ -248,10 +256,10 @@ def compute_config(self): debug_print(source, "->", [str(x) for x in edges.outgoing]) =20 # The reverse of the depth-first order is the topological sort - dfo =3D dict() - visited =3D set() + dfo: dict[KconfigData.Var, int] =3D {} + visited: set[KconfigData.Var] =3D set() debug_print("\n") - def visit_fn(var): + def visit_fn(var: KconfigData.Var) -> None: debug_print(var, "has DFS number", len(dfo)) dfo[var] =3D len(dfo) =20 @@ -270,7 +278,7 @@ def visit_fn(var): clause.process() =20 debug_print("") - values =3D dict() + values: dict[str, bool] =3D {} for name, v in self.referenced_vars.items(): debug_print("Evaluating", name) values[name] =3D v.evaluate() @@ -279,39 +287,42 @@ def visit_fn(var): =20 # semantic actions ------------- =20 - def do_declaration(self, var): + def do_declaration(self, var: KconfigData.Var) -> None: if var.name in self.defined_vars: raise KconfigDataError('variable "%s" defined twice' % var.nam= e) - self.defined_vars.add(var.name) =20 # var is a string with the variable's name. - def do_var(self, var): + def do_var(self, var: str) -> KconfigData.Var: if var in self.referenced_vars: return self.referenced_vars[var] =20 var_obj =3D self.referenced_vars[var] =3D KconfigData.Var(var) return var_obj =20 - def do_assignment(self, var, val): + def do_assignment(self, var: KconfigData.Var, val: bool) -> None: self.clauses.append(KconfigData.AssignmentClause(var, val)) =20 - def do_cmdline_assignment(self, var, val): + def do_cmdline_assignment(self, var: str, val: bool) -> None: assert var.startswith("CONFIG_") self.do_assignment(self.do_var(var[7:]), val) =20 - def do_default(self, var, val, cond=3DNone): + def do_default(self, var: KconfigData.Var, val: bool, + cond: KconfigData.Expr | None =3D None) -> None: val =3D self.value_mangler(val) self.clauses.append(KconfigData.DefaultClause(var, val, cond)) =20 - def do_depends_on(self, var, expr): + def do_depends_on(self, var: KconfigData.Var, + expr: KconfigData.Expr) -> None: self.clauses.append(KconfigData.DependsOnClause(var, expr)) =20 - def do_select(self, var, symbol, cond=3DNone): + def do_select(self, var: KconfigData.Var, symbol: KconfigData.Var, + cond: KconfigData.Expr | None =3D None) -> None: cond =3D (cond & var) if cond is not None else var self.clauses.append(KconfigData.SelectClause(symbol, cond)) =20 - def do_imply(self, var, symbol, cond=3DNone): + def do_imply(self, var: KconfigData.Var, symbol: KconfigData.Var, + cond: KconfigData.Expr | None =3D None) -> None: # "config X imply Y [if COND]" is the same as # "config Y default y if X [&& COND]" cond =3D (cond & var) if cond is not None else var @@ -323,7 +334,7 @@ def do_imply(self, var, symbol, cond=3DNone): # ------------------------------------------- =20 # tokens table -TOKENS =3D {} +TOKENS: dict[int, str] =3D {} TOK_NONE =3D -1 TOK_LPAREN =3D 0; TOKENS[TOK_LPAREN] =3D '"("' TOK_RPAREN =3D 1; TOKENS[TOK_RPAREN] =3D '")"' @@ -346,7 +357,8 @@ def do_imply(self, var, symbol, cond=3DNone): TOK_EOF =3D 18; TOKENS[TOK_EOF] =3D 'end of file' =20 class KconfigParserError(Exception): - def __init__(self, parser, msg, tok=3DNone): + def __init__(self, parser: KconfigParser, msg: str, + tok: int | str | None =3D None) -> None: self.loc =3D parser.location() tok =3D tok if tok is not None else parser.tok if tok !=3D TOK_NONE: @@ -354,33 +366,37 @@ def __init__(self, parser, msg, tok=3DNone): msg =3D '%s before %s' % (msg, location) self.msg =3D msg =20 - def __str__(self): + def __str__(self) -> str: return "%s: %s" % (self.loc, self.msg) =20 class KconfigParser: =20 @classmethod - def parse(cls, fp, data, incl_info=3DNone): + def parse(cls, fp: T.TextIO, data: KconfigData, incl_info: IncludeInfo= | None =3D None) -> None: cls(fp, data, incl_info).parse_config() =20 - def __init__(self, fp, data, incl_info): + def __init__(self, fp: T.TextIO, data: KconfigData, incl_info: Include= Info | None =3D None): self.data =3D data self.incl_info =3D incl_info self.abs_fname =3D os.path.abspath(fp.name) self.fname =3D fp.name self.data.previously_included.append(self.abs_fname) + src =3D fp.read() if src =3D=3D '' or src[-1] !=3D '\n': src +=3D '\n' self.src =3D src - self.cursor =3D 0 - self.line =3D 1 - self.line_pos =3D 0 + self.cursor: int =3D 0 + self.line: int =3D 1 + self.line_pos: int =3D 0 + self.pos: int =3D 0 + self.tok: int =3D TOK_NONE + self.val: str | None =3D None self.get_token() =20 # file management ----- =20 - def location(self): + def location(self) -> str: col =3D 1 for ch in self.src[self.line_pos:self.pos]: if ch =3D=3D '\t': @@ -391,7 +407,7 @@ def location(self): incl_chain =3D inf.error_path() if inf is not None else "" return '%s%s:%d:%d' % (incl_chain, self.fname, self.line, col) =20 - def do_include(self, include): + def do_include(self, include: str) -> None: incl_abs_fname =3D os.path.join(os.path.dirname(self.abs_fname), include) # catch inclusion cycle @@ -419,7 +435,7 @@ def do_include(self, include): # recursive descent parser ----- =20 # y_or_n: Y | N - def parse_y_or_n(self): + def parse_y_or_n(self) -> bool: if self.tok =3D=3D TOK_Y: self.get_token() return True @@ -429,7 +445,7 @@ def parse_y_or_n(self): raise KconfigParserError(self, 'Expected "y" or "n"') =20 # var: ID - def parse_var(self): + def parse_var(self) -> KconfigData.Var: if self.tok !=3D TOK_ID: raise KconfigParserError(self, 'Expected identifier') val =3D self.val @@ -438,7 +454,7 @@ def parse_var(self): return self.data.do_var(val) =20 # assignment_var: ID (starting with "CONFIG_") - def parse_assignment_var(self): + def parse_assignment_var(self) -> KconfigData.Var: if self.tok !=3D TOK_ID: raise KconfigParserError(self, 'Expected identifier') val =3D self.val @@ -450,7 +466,7 @@ def parse_assignment_var(self): return self.data.do_var(val[7:]) =20 # assignment: var EQUAL y_or_n - def parse_assignment(self): + def parse_assignment(self) -> None: var =3D self.parse_assignment_var() if self.tok !=3D TOK_EQUAL: raise KconfigParserError(self, 'Expected "=3D"') @@ -460,7 +476,7 @@ def parse_assignment(self): # primary: NOT primary # | LPAREN expr RPAREN # | var - def parse_primary(self): + def parse_primary(self) -> KconfigData.Expr: if self.tok =3D=3D TOK_NOT: self.get_token() val =3D ~self.parse_primary() @@ -477,7 +493,7 @@ def parse_primary(self): return val =20 # disj: primary (OR primary)* - def parse_disj(self): + def parse_disj(self) -> KconfigData.Expr: lhs =3D self.parse_primary() while self.tok =3D=3D TOK_OR: self.get_token() @@ -485,7 +501,7 @@ def parse_disj(self): return lhs =20 # expr: disj (AND disj)* - def parse_expr(self): + def parse_expr(self) -> KconfigData.Expr: lhs =3D self.parse_disj() while self.tok =3D=3D TOK_AND: self.get_token() @@ -494,7 +510,7 @@ def parse_expr(self): =20 # condition: IF expr # | empty - def parse_condition(self): + def parse_condition(self) -> KconfigData.Expr | None: if self.tok !=3D TOK_IF: return None self.get_token() @@ -504,7 +520,7 @@ def parse_condition(self): # | DEPENDS ON expr # | SELECT var condition # | BOOL - def parse_property(self, var): + def parse_property(self, var: KconfigData.Var) -> None: if self.tok =3D=3D TOK_DEFAULT: self.get_token() val =3D self.parse_y_or_n() @@ -533,7 +549,7 @@ def parse_property(self, var): =20 # properties: properties property # | /* empty */ - def parse_properties(self, var): + def parse_properties(self, var: KconfigData.Var) -> None: while self.tok =3D=3D TOK_DEFAULT or self.tok =3D=3D TOK_DEPENDS o= r \ self.tok =3D=3D TOK_SELECT or self.tok =3D=3D TOK_BOOL or \ self.tok =3D=3D TOK_IMPLY: @@ -546,7 +562,7 @@ def parse_properties(self, var): + '"default", "depends on", "imply" or "select"') =20 # declaration: config var properties - def parse_declaration(self): + def parse_declaration(self) -> None: if self.tok =3D=3D TOK_CONFIG: self.get_token() var =3D self.parse_var() @@ -558,9 +574,10 @@ def parse_declaration(self): # clause: SOURCE # | declaration # | assignment - def parse_clause(self): + def parse_clause(self) -> None: if self.tok =3D=3D TOK_SOURCE: val =3D self.val + assert val is not None self.get_token() self.do_include(val) elif self.tok =3D=3D TOK_CONFIG: @@ -571,14 +588,15 @@ def parse_clause(self): raise KconfigParserError(self, 'expected "source", "config" or= identifier') =20 # config: clause+ EOF - def parse_config(self): + def parse_config(self) -> KconfigData: while self.tok !=3D TOK_EOF: self.parse_clause() return self.data =20 # scanner ----- =20 - def get_token(self): + def get_token(self) -> None: + assert self.src is not None while True: ch =3D self.src[self.cursor] self.pos =3D self.cursor @@ -590,7 +608,8 @@ def get_token(self): self.tok =3D tok return =20 - def check_keyword(self, rest): + def check_keyword(self, rest: str) -> bool: + assert self.src is not None if not self.src.startswith(rest, self.cursor): return False length =3D len(rest) @@ -599,7 +618,8 @@ def check_keyword(self, rest): self.cursor +=3D length return True =20 - def scan_token(self, ch): + def scan_token(self, ch: str) -> int | None: + assert self.src is not None if ch =3D=3D '#': self.cursor =3D self.src.find('\n', self.cursor) return None @@ -667,7 +687,7 @@ def scan_token(self, ch): =20 def main(): argv =3D sys.argv - mode =3D defconfig + mode: Mangler =3D defconfig if len(sys.argv) > 1: if argv[1] =3D=3D '--defconfig': del argv[1] @@ -691,7 +711,7 @@ def main(): sys.exit(1) =20 data =3D KconfigData(mode) - external_vars =3D set() + external_vars: set[str] =3D set() for arg in argv[3:]: m =3D re.match(r'^(CONFIG_[A-Z0-9_]+)=3D([yn]?)$', arg) if m is not None: --=20 2.54.0