From nobody Wed Apr 2 07:04:38 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; 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 ARC-Seal: i=1; a=rsa-sha256; t=1583607340; cv=none; d=zohomail.com; s=zohoarc; b=DH3VnRi3CJDcy+k0/ji5eaa6PAm1nx1fX9LBCTBHPGL7LfeGPnRCgywPqDjvssGayYbmDVEMICKF6YnSHEn2iTbnziclpL+XA5ITCRJ3Ma2sakwt1PUff2sHsTfMeHNI++zuU96C6oUrrRVc/YWR/+7nzWLaxSp5Rs6xhKRvuw8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583607340; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=YQb4N9Dlr7J1+I6iRmVVkq1vuIl0LIGZLcwHXGzkr1U=; b=ZnDWqD83peCOXLWnOqoCHbxTbyGSfnIDZYWPuMO3GmwvnfNQFcNN7xku/fb88xzgr6D8S/XFJ2lHuf/jrH80QBO6u5jsZdDPVKaxTjLHWT7M36M8p9428sXYk2M5LWkfZAheYWa/DyjnJGoxFAHfyupAjswfVGSOxONn43Aa1hk= ARC-Authentication-Results: i=1; mx.zohomail.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 158360734083113.48350170109245; Sat, 7 Mar 2020 10:55:40 -0800 (PST) Received: from localhost ([::1]:51862 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jAebr-0004f3-W1 for importer@patchew.org; Sat, 07 Mar 2020 13:55:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36221) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jAeb9-0003wu-W7 for qemu-devel@nongnu.org; Sat, 07 Mar 2020 13:54:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jAeb8-0004iR-IJ for qemu-devel@nongnu.org; Sat, 07 Mar 2020 13:54:55 -0500 Received: from smtp.lg.ehu.es ([158.227.0.66]:20909 helo=smtp.ehu.eus) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jAeb8-0004h3-7H for qemu-devel@nongnu.org; Sat, 07 Mar 2020 13:54:54 -0500 Received: from imsva1.lgp.ehu.es (imsva1.lgp.ehu.es [10.0.3.245]) by postfix.smtp1.imsva1 (Postfix) with ESMTPS id E629535A74; Sat, 7 Mar 2020 19:54:52 +0100 (CET) Received: from imsva1.lgp.ehu.es (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C60C611004A; Sat, 7 Mar 2020 19:54:52 +0100 (CET) Received: from imsva1.lgp.ehu.es (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BA985110045; Sat, 7 Mar 2020 19:54:52 +0100 (CET) Received: from smtp.ehu.eus (unknown [10.0.100.73]) by imsva1.lgp.ehu.es (Postfix) with ESMTPS; Sat, 7 Mar 2020 19:54:52 +0100 (CET) Received: from afee69d503a7 (unknown [81.0.0.187]) by smtp1 (Postfix) with ESMTPSA id 750AF35A74; Sat, 7 Mar 2020 19:54:52 +0100 (CET) Date: Sat, 7 Mar 2020 18:54:51 +0000 From: Unai Martinez-Corral To: qemu-devel@nongnu.org Subject: [PATCH v8 7/9] qemu-binfmt-conf.sh: generalize to positional [TARGETS] Message-ID: <20200307185451.GD45@afee69d503a7> References: <20200307170251.GA7@dd5f6ec33fb0> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200307170251.GA7@dd5f6ec33fb0> X-Greylist: ACL 184 matched, not delayed by milter-greylist-4.6.2 (smtp1 [10.0.100.73]); Sat, 07 Mar 2020 19:54:52 +0100 (CET) X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSVA-9.1.0.1631-8.5.0.1020-25276.002 X-TM-AS-Result: No--6.998-7.0-31-10 X-imss-scan-details: No--6.998-7.0-31-10 X-TMASE-Version: IMSVA-9.1.0.1631-8.5.1020-25276.002 X-TMASE-Result: 10--6.998000-10.000000 X-TMASE-MatchedRID: nrHYWZvpVHs8mRT0SYY6fggKAWhuC2ojb6bRSg4rpzvnCThanP/ghHPB OaeKbK/+oLBWQm3Xk4ruUwVp7PnaAt6mdwOBRvHdweku330t3msk970gYOLoHXqm3WhT4L+kMrJ 18VCI8ftc9zRCuEq6hBseEDo3eR11BeNKlUefbYOSbFkwrmkQ4ktc8DbogbSEN2WxgvaD/zvwVK uSbLr8UjTz5aD5P/nAfEtOTuUcA9bRQdw4XFGJY2Fzg+No/uuNp1Pjcaldww1dmCn0mOn8zNY8Z /9YK9FIHZltZHq3316JylXyVqjzn3P1PdPbavOpbWsCUkrA4EnKIqAq0jIHigaYevV4zG3ZhOta jKU/o8zXTlm90lXFO7qojq4R9iDw/3sP+ok2e+YoSebb2328i+uLFZZYlisfQ6tklRJO9ij9bMg 3kSk56LG0WsdjH6wrKrauXd3MZDWXf5sC39gVVJFVR9JrQm2XD61E1PCtdJD/ZxLWCRuw8s++cy dLfhbO66XHIc5w+gc= X-TMASE-SNAP-Result: 1.821001.0001-0-1-12:0,22:0,33:0,34:0-0 X-Greylist: Sender IP whitelisted, Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.6.2 (postfix.smtp1.imsva1 [10.0.100.73]); Sat, 07 Mar 2020 19:54:52 +0100 (CET) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 158.227.0.66 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: riku.voipio@iki.fi, laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This breaks brackward compatibility. Option '--systemd CPU' allows to register binfmt interpreters for a single target architecture or for 'ALL' (of them). This patch generalizes the approach to support it in any mode (default, '--debian' or '--systemd'). To do so, option 'systemd' is changed to be boolean (no args). Then, all the positional arguments are considered to be a list of target architectures. If no positional arguments are provided, all of the architectures in qemu_target_list are registered. Conversely, argument value 'NONE' allows to make a 'dry run' of the script. I.e., checks are executed according to the mode, but no interpreter is registered. Support QEMU_TARGETS environment variable, consistently with 'path', 'suffix', 'persistent' and 'credential', The supported formats are the same as for positional arguments, which have priority. If both the variable and the list of positional arguments are empty, defaults to qemu_target_list. Signed-off-by: Unai Martinez-Corral Reviewed-by: Laurent Vivier --- scripts/qemu-binfmt-conf.sh | 80 +++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh index 80ec164eab..d5d3484b58 100755 --- a/scripts/qemu-binfmt-conf.sh +++ b/scripts/qemu-binfmt-conf.sh @@ -6,6 +6,28 @@ ppc ppc64 ppc64le m68k mips mipsel mipsn32 mipsn32el mips6= 4 mips64el \ sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \ microblaze microblazeel or1k x86_64" =20 +# check if given TARGETS is/are in the supported target list +qemu_check_target_list() { + if [ $# -eq 0 ] ; then + checked_target_list=3D"$qemu_target_list" + return + fi + unset checked_target_list + for target ; do + for cpu in $qemu_target_list ; do + if [ "x$cpu" =3D "x$target" ] ; then + checked_target_list=3D"$checked_target_list $target" + break + fi + done + if [ "x$cpu" !=3D "x$target" ] ; then + echo "ERROR: unknown CPU \"$target\"" 1>&2 + usage + exit 1 + fi + done +} + i386_magic=3D'\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\= x00\x03\x00' i386_mask=3D'\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\= xff\xfe\xff\xff\xff' i386_family=3Di386 @@ -171,14 +193,16 @@ qemu_get_family() { =20 usage() { cat <&2 - usage - exit 1 - fi - fi ;; -Q|--path) shift @@ -394,5 +404,7 @@ while true ; do shift done =20 +shift + $CHECK -qemu_set_binfmts +qemu_set_binfmts "$@" --=20 2.25.1