From nobody Sun May 19 07:11:50 2024 Delivered-To: importer@patchew.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=1618338779; cv=none; d=zohomail.com; s=zohoarc; b=EFWmm3qDnNdHxVil4w3QQt/M21e4GvWakKT9hZJeyxkfrrek7ILu6Q7SlS7xIM6ljHMGuGBU4DxBauFTxa+8xJfNnsNA+jRhkDMzzf9IdAc0ckoLFeS+Kc3HsSsIfTcawi3SihsFguRdKLUQePvuagxqsnV8QC2U3cq+K+0/1Jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1618338779; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=KxuHmgiD9nw0cCfKqPf7SMLF3yNsS99TU64yW1Oup8c=; b=OoUwHplQOPI5tgx/PgrXxY10N/MwDRePITXi/LbnT2+l1iLr7bOyYHDqwSyW7d5w3XDbJDYdL3Gi867+Wo7T9d3YiZCJJypLay2Cn+axxes7EwYujoPBkkrcS/NX72rH7GNsj/c5/DMWJ0J+SjFUOTwD2s3T9vOPbeesSZmW/M0= 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 161833877959893.10822017012288; Tue, 13 Apr 2021 11:32:59 -0700 (PDT) Received: from localhost ([::1]:59026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lWNqL-0000Xb-Gy for importer@patchew.org; Tue, 13 Apr 2021 14:32:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lWNn2-0007vO-3S for qemu-devel@nongnu.org; Tue, 13 Apr 2021 14:29:32 -0400 Received: from [201.28.113.2] (port=3719 helo=outlook.eldorado.org.br) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lWNn0-0004ie-43 for qemu-devel@nongnu.org; Tue, 13 Apr 2021 14:29:31 -0400 Received: from power9a ([10.10.71.235]) by outlook.eldorado.org.br with Microsoft SMTPSVC(8.5.9600.16384); Tue, 13 Apr 2021 15:16:50 -0300 Received: from eldorado.org.br (unknown [10.10.70.45]) by power9a (Postfix) with ESMTP id A21CB8011B4; Tue, 13 Apr 2021 15:16:50 -0300 (-03) From: Luis Pires To: qemu-devel@nongnu.org Subject: [PATCH] decodetree: Allow custom var width load functions Date: Tue, 13 Apr 2021 15:16:15 -0300 Message-Id: <20210413181615.414685-1-luis.pires@eldorado.org.br> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-OriginalArrivalTime: 13 Apr 2021 18:16:50.0876 (UTC) FILETIME=[2CAEBFC0:01D73091] X-Host-Lookup-Failed: Reverse DNS lookup failed for 201.28.113.2 (failed) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=201.28.113.2; envelope-from=luis.pires@eldorado.org.br; helo=outlook.eldorado.org.br X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: qemu-ppc@nongnu.org, Luis Pires , richard.henderson@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" This is useful in situations where you want decodetree to handle variable width instructions but you want to provide custom code to load the instructions. Suppressing the generation of the load function is necessary to avoid compilation errors due to the load function being unused. This will be used by the PowerPC decodetree code. Signed-off-by: Luis Pires --- scripts/decodetree.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/scripts/decodetree.py b/scripts/decodetree.py index fef5eeaf42..c88dbdb4c3 100644 --- a/scripts/decodetree.py +++ b/scripts/decodetree.py @@ -1277,9 +1277,10 @@ def main(): global anyextern =20 decode_scope =3D 'static ' + noloadfunc =3D False =20 long_opts =3D ['decode=3D', 'translate=3D', 'output=3D', 'insnwidth=3D= ', - 'static-decode=3D', 'varinsnwidth=3D'] + 'static-decode=3D', 'varinsnwidth=3D', 'noloadfunc'] try: (opts, args) =3D getopt.gnu_getopt(sys.argv[1:], 'o:vw:', long_opt= s) except getopt.GetoptError as err: @@ -1311,6 +1312,8 @@ def main(): deposit_function =3D 'deposit64' elif insnwidth !=3D 32: error(0, 'cannot handle insns of width', insnwidth) + elif o =3D=3D '--noloadfunc': + noloadfunc =3D True else: assert False, 'unhandled option' =20 @@ -1400,12 +1403,13 @@ def main(): output(i4, 'return false;\n') output('}\n') =20 - if variablewidth: - output('\n', decode_scope, insntype, ' ', decode_function, - '_load(DisasContext *ctx)\n{\n', - ' ', insntype, ' insn =3D 0;\n\n') - stree.output_code(4, 0, 0, 0) - output('}\n') + if not noloadfunc: + if variablewidth: + output('\n', decode_scope, insntype, ' ', decode_function, + '_load(DisasContext *ctx)\n{\n', + ' ', insntype, ' insn =3D 0;\n\n') + stree.output_code(4, 0, 0, 0) + output('}\n') =20 if output_file: output_fd.close() --=20 2.25.1