From nobody Tue May 13 09:38:02 2025 Delivered-To: importer2@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+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=suse.de ARC-Seal: i=1; a=rsa-sha256; t=1673623594; cv=none; d=zohomail.com; s=zohoarc; b=YW+TEdJlHOScX7aW1KaxjmBKLQ05CAY6whPQxcdyRWtBXtS/WgH0zBZppR23XNtyglti7Kap1dIvqnrKZVHYhc/2h1Ao9nFbVhFJLF6uBAQoaoM4q5DQGYO3pBzSnvNa/peWko21rUG7s0rDtk3xe9kIKN3kLWGRB968av4sFjk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673623594; h=Content-Type:Content-Transfer-Encoding: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=OfnT+Bc2iUxCNJO5zCn5iRzKggcmqpJtVaf6F22sNsk=; b=WXo2qRHkG+zXwJCaMZ9/BEecKgun48Hy7YsWqKzuZVyB/fTdfI9FRyvmfeEqLgIaineWv/BJH4Z6KLWQnkFI3D5dx5XpH718AMP4eu2XIBzt1pdtie71NcRc3DhrtaJT9fVsMsqdhgJEkO2Ug1hCYHoztQBhcQmwteI++7iHVJw= 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+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673623594626193.2816490595941; Fri, 13 Jan 2023 07:26:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGKhx-0006aj-64; Fri, 13 Jan 2023 09:07:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGKhv-0006Yt-C1; Fri, 13 Jan 2023 09:06:59 -0500 Received: from smtp-out1.suse.de ([195.135.220.28]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGKhs-0002f1-P8; Fri, 13 Jan 2023 09:06:59 -0500 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id D4FD14DE3E; Fri, 13 Jan 2023 14:06:53 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 453EF1358A; Fri, 13 Jan 2023 14:06:51 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id MBMiBHtlwWP8DQAAMHmgww (envelope-from ); Fri, 13 Jan 2023 14:06:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1673618813; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OfnT+Bc2iUxCNJO5zCn5iRzKggcmqpJtVaf6F22sNsk=; b=qkjFhs9zZK+d11XZCFJPuAiRtV+eCnse7fIsXfYTwQvJiOZVypW3VAyTp9FyIGqzBkRg8j N8i7Tkg8j5yUWlvtL/TwNSEnsf0wAF6eVglG3TGnvMhgzUs+ULgdgUPuOJm0JXBN6k6HtU H9yAYj2T8STMTN+avjOl5E1pEESw01c= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1673618813; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OfnT+Bc2iUxCNJO5zCn5iRzKggcmqpJtVaf6F22sNsk=; b=U2lWOsxPYl3dHe6m4UaxbruKitlIFwCqbkmZR2XrDG1G3NRfPXviMHN7kG3tHq75ES8Bfy p9fub9VUupR4GpBg== From: Fabiano Rosas To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini , Claudio Fontana , Eduardo Habkost , Alexander Graf Subject: [RFC PATCH v3 09/28] target/arm: move translate modules to tcg/ Date: Fri, 13 Jan 2023 11:04:00 -0300 Message-Id: <20230113140419.4013-10-farosas@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230113140419.4013-1-farosas@suse.de> References: <20230113140419.4013-1-farosas@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=195.135.220.28; envelope-from=farosas@suse.de; helo=smtp-out1.suse.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @suse.de) X-ZM-MESSAGEID: 1673623596049100001 Introduce the target/arm/tcg directory. Its purpose is to hold the TCG code that is selected by CONFIG_TCG. Signed-off-by: Claudio Fontana Signed-off-by: Fabiano Rosas Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- Also moved translate-{m-nocp,mve,neon,vfp,sme}.c --- MAINTAINERS | 1 + target/arm/meson.build | 30 ++++------------------- target/arm/{ =3D> tcg}/a32-uncond.decode | 0 target/arm/{ =3D> tcg}/a32.decode | 0 target/arm/{ =3D> tcg}/m-nocp.decode | 0 target/arm/tcg/meson.build | 32 +++++++++++++++++++++++++ target/arm/{ =3D> tcg}/mve.decode | 0 target/arm/{ =3D> tcg}/neon-dp.decode | 0 target/arm/{ =3D> tcg}/neon-ls.decode | 0 target/arm/{ =3D> tcg}/neon-shared.decode | 0 target/arm/{ =3D> tcg}/sme-fa64.decode | 0 target/arm/{ =3D> tcg}/sme.decode | 0 target/arm/{ =3D> tcg}/sve.decode | 0 target/arm/{ =3D> tcg}/t16.decode | 0 target/arm/{ =3D> tcg}/t32.decode | 0 target/arm/{ =3D> tcg}/translate-a64.c | 0 target/arm/{ =3D> tcg}/translate-a64.h | 0 target/arm/{ =3D> tcg}/translate-m-nocp.c | 0 target/arm/{ =3D> tcg}/translate-mve.c | 0 target/arm/{ =3D> tcg}/translate-neon.c | 0 target/arm/{ =3D> tcg}/translate-sme.c | 0 target/arm/{ =3D> tcg}/translate-sve.c | 0 target/arm/{ =3D> tcg}/translate-vfp.c | 0 target/arm/{ =3D> tcg}/translate.c | 0 target/arm/{ =3D> tcg}/translate.h | 0 target/arm/{ =3D> tcg}/vfp-uncond.decode | 0 target/arm/{ =3D> tcg}/vfp.decode | 0 27 files changed, 37 insertions(+), 26 deletions(-) rename target/arm/{ =3D> tcg}/a32-uncond.decode (100%) rename target/arm/{ =3D> tcg}/a32.decode (100%) rename target/arm/{ =3D> tcg}/m-nocp.decode (100%) create mode 100644 target/arm/tcg/meson.build rename target/arm/{ =3D> tcg}/mve.decode (100%) rename target/arm/{ =3D> tcg}/neon-dp.decode (100%) rename target/arm/{ =3D> tcg}/neon-ls.decode (100%) rename target/arm/{ =3D> tcg}/neon-shared.decode (100%) rename target/arm/{ =3D> tcg}/sme-fa64.decode (100%) rename target/arm/{ =3D> tcg}/sme.decode (100%) rename target/arm/{ =3D> tcg}/sve.decode (100%) rename target/arm/{ =3D> tcg}/t16.decode (100%) rename target/arm/{ =3D> tcg}/t32.decode (100%) rename target/arm/{ =3D> tcg}/translate-a64.c (100%) rename target/arm/{ =3D> tcg}/translate-a64.h (100%) rename target/arm/{ =3D> tcg}/translate-m-nocp.c (100%) rename target/arm/{ =3D> tcg}/translate-mve.c (100%) rename target/arm/{ =3D> tcg}/translate-neon.c (100%) rename target/arm/{ =3D> tcg}/translate-sme.c (100%) rename target/arm/{ =3D> tcg}/translate-sve.c (100%) rename target/arm/{ =3D> tcg}/translate-vfp.c (100%) rename target/arm/{ =3D> tcg}/translate.c (100%) rename target/arm/{ =3D> tcg}/translate.h (100%) rename target/arm/{ =3D> tcg}/vfp-uncond.decode (100%) rename target/arm/{ =3D> tcg}/vfp.decode (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 5606e5dbd2..0c33bd9307 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -161,6 +161,7 @@ M: Peter Maydell L: qemu-arm@nongnu.org S: Maintained F: target/arm/ +F: target/arm/tcg/ F: tests/tcg/arm/ F: tests/tcg/aarch64/ F: tests/qtest/arm-cpu-features.c diff --git a/target/arm/meson.build b/target/arm/meson.build index aa5aae9888..6dc7b800e6 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -1,22 +1,4 @@ -gen =3D [ - decodetree.process('sve.decode', extra_args: '--decode=3Ddisas_sve'), - decodetree.process('sme.decode', extra_args: '--decode=3Ddisas_sme'), - decodetree.process('sme-fa64.decode', extra_args: '--static-decode=3Ddis= as_sme_fa64'), - decodetree.process('neon-shared.decode', extra_args: '--decode=3Ddisas_n= eon_shared'), - decodetree.process('neon-dp.decode', extra_args: '--decode=3Ddisas_neon_= dp'), - decodetree.process('neon-ls.decode', extra_args: '--decode=3Ddisas_neon_= ls'), - decodetree.process('vfp.decode', extra_args: '--decode=3Ddisas_vfp'), - decodetree.process('vfp-uncond.decode', extra_args: '--decode=3Ddisas_vf= p_uncond'), - decodetree.process('m-nocp.decode', extra_args: '--decode=3Ddisas_m_nocp= '), - decodetree.process('mve.decode', extra_args: '--decode=3Ddisas_mve'), - decodetree.process('a32.decode', extra_args: '--static-decode=3Ddisas_a3= 2'), - decodetree.process('a32-uncond.decode', extra_args: '--static-decode=3Dd= isas_a32_uncond'), - decodetree.process('t32.decode', extra_args: '--static-decode=3Ddisas_t3= 2'), - decodetree.process('t16.decode', extra_args: ['-w', '16', '--static-deco= de=3Ddisas_t16']), -] - arm_ss =3D ss.source_set() -arm_ss.add(gen) arm_ss.add(files( 'cpregs.c', 'cpu.c', @@ -30,11 +12,6 @@ arm_ss.add(files( 'neon_helper.c', 'op_helper.c', 'tlb_helper.c', - 'translate.c', - 'translate-m-nocp.c', - 'translate-mve.c', - 'translate-neon.c', - 'translate-vfp.c', 'vec_helper.c', 'vfp_helper.c', 'cpu_tcg.c', @@ -51,9 +28,6 @@ arm_ss.add(when: 'TARGET_AARCH64', if_true: files( 'pauth_helper.c', 'sve_helper.c', 'sme_helper.c', - 'translate-a64.c', - 'translate-sve.c', - 'translate-sme.c', )) =20 arm_softmmu_ss =3D ss.source_set() @@ -68,5 +42,9 @@ arm_softmmu_ss.add(files( =20 subdir('hvf') =20 +if 'CONFIG_TCG' in config_all + subdir('tcg') +endif + target_arch +=3D {'arm': arm_ss} target_softmmu_arch +=3D {'arm': arm_softmmu_ss} diff --git a/target/arm/a32-uncond.decode b/target/arm/tcg/a32-uncond.decode similarity index 100% rename from target/arm/a32-uncond.decode rename to target/arm/tcg/a32-uncond.decode diff --git a/target/arm/a32.decode b/target/arm/tcg/a32.decode similarity index 100% rename from target/arm/a32.decode rename to target/arm/tcg/a32.decode diff --git a/target/arm/m-nocp.decode b/target/arm/tcg/m-nocp.decode similarity index 100% rename from target/arm/m-nocp.decode rename to target/arm/tcg/m-nocp.decode diff --git a/target/arm/tcg/meson.build b/target/arm/tcg/meson.build new file mode 100644 index 0000000000..044561bd4d --- /dev/null +++ b/target/arm/tcg/meson.build @@ -0,0 +1,32 @@ +gen =3D [ + decodetree.process('sve.decode', extra_args: '--decode=3Ddisas_sve'), + decodetree.process('sme.decode', extra_args: '--decode=3Ddisas_sme'), + decodetree.process('sme-fa64.decode', extra_args: '--static-decode=3Ddis= as_sme_fa64'), + decodetree.process('neon-shared.decode', extra_args: '--decode=3Ddisas_n= eon_shared'), + decodetree.process('neon-dp.decode', extra_args: '--decode=3Ddisas_neon_= dp'), + decodetree.process('neon-ls.decode', extra_args: '--decode=3Ddisas_neon_= ls'), + decodetree.process('vfp.decode', extra_args: '--decode=3Ddisas_vfp'), + decodetree.process('vfp-uncond.decode', extra_args: '--decode=3Ddisas_vf= p_uncond'), + decodetree.process('m-nocp.decode', extra_args: '--decode=3Ddisas_m_nocp= '), + decodetree.process('mve.decode', extra_args: '--decode=3Ddisas_mve'), + decodetree.process('a32.decode', extra_args: '--static-decode=3Ddisas_a3= 2'), + decodetree.process('a32-uncond.decode', extra_args: '--static-decode=3Dd= isas_a32_uncond'), + decodetree.process('t32.decode', extra_args: '--static-decode=3Ddisas_t3= 2'), + decodetree.process('t16.decode', extra_args: ['-w', '16', '--static-deco= de=3Ddisas_t16']), +] + +arm_ss.add(gen) + +arm_ss.add(files( + 'translate.c', + 'translate-m-nocp.c', + 'translate-mve.c', + 'translate-neon.c', + 'translate-vfp.c', +)) + +arm_ss.add(when: 'TARGET_AARCH64', if_true: files( + 'translate-a64.c', + 'translate-sve.c', + 'translate-sme.c', +)) diff --git a/target/arm/mve.decode b/target/arm/tcg/mve.decode similarity index 100% rename from target/arm/mve.decode rename to target/arm/tcg/mve.decode diff --git a/target/arm/neon-dp.decode b/target/arm/tcg/neon-dp.decode similarity index 100% rename from target/arm/neon-dp.decode rename to target/arm/tcg/neon-dp.decode diff --git a/target/arm/neon-ls.decode b/target/arm/tcg/neon-ls.decode similarity index 100% rename from target/arm/neon-ls.decode rename to target/arm/tcg/neon-ls.decode diff --git a/target/arm/neon-shared.decode b/target/arm/tcg/neon-shared.dec= ode similarity index 100% rename from target/arm/neon-shared.decode rename to target/arm/tcg/neon-shared.decode diff --git a/target/arm/sme-fa64.decode b/target/arm/tcg/sme-fa64.decode similarity index 100% rename from target/arm/sme-fa64.decode rename to target/arm/tcg/sme-fa64.decode diff --git a/target/arm/sme.decode b/target/arm/tcg/sme.decode similarity index 100% rename from target/arm/sme.decode rename to target/arm/tcg/sme.decode diff --git a/target/arm/sve.decode b/target/arm/tcg/sve.decode similarity index 100% rename from target/arm/sve.decode rename to target/arm/tcg/sve.decode diff --git a/target/arm/t16.decode b/target/arm/tcg/t16.decode similarity index 100% rename from target/arm/t16.decode rename to target/arm/tcg/t16.decode diff --git a/target/arm/t32.decode b/target/arm/tcg/t32.decode similarity index 100% rename from target/arm/t32.decode rename to target/arm/tcg/t32.decode diff --git a/target/arm/translate-a64.c b/target/arm/tcg/translate-a64.c similarity index 100% rename from target/arm/translate-a64.c rename to target/arm/tcg/translate-a64.c diff --git a/target/arm/translate-a64.h b/target/arm/tcg/translate-a64.h similarity index 100% rename from target/arm/translate-a64.h rename to target/arm/tcg/translate-a64.h diff --git a/target/arm/translate-m-nocp.c b/target/arm/tcg/translate-m-noc= p.c similarity index 100% rename from target/arm/translate-m-nocp.c rename to target/arm/tcg/translate-m-nocp.c diff --git a/target/arm/translate-mve.c b/target/arm/tcg/translate-mve.c similarity index 100% rename from target/arm/translate-mve.c rename to target/arm/tcg/translate-mve.c diff --git a/target/arm/translate-neon.c b/target/arm/tcg/translate-neon.c similarity index 100% rename from target/arm/translate-neon.c rename to target/arm/tcg/translate-neon.c diff --git a/target/arm/translate-sme.c b/target/arm/tcg/translate-sme.c similarity index 100% rename from target/arm/translate-sme.c rename to target/arm/tcg/translate-sme.c diff --git a/target/arm/translate-sve.c b/target/arm/tcg/translate-sve.c similarity index 100% rename from target/arm/translate-sve.c rename to target/arm/tcg/translate-sve.c diff --git a/target/arm/translate-vfp.c b/target/arm/tcg/translate-vfp.c similarity index 100% rename from target/arm/translate-vfp.c rename to target/arm/tcg/translate-vfp.c diff --git a/target/arm/translate.c b/target/arm/tcg/translate.c similarity index 100% rename from target/arm/translate.c rename to target/arm/tcg/translate.c diff --git a/target/arm/translate.h b/target/arm/tcg/translate.h similarity index 100% rename from target/arm/translate.h rename to target/arm/tcg/translate.h diff --git a/target/arm/vfp-uncond.decode b/target/arm/tcg/vfp-uncond.decode similarity index 100% rename from target/arm/vfp-uncond.decode rename to target/arm/tcg/vfp-uncond.decode diff --git a/target/arm/vfp.decode b/target/arm/tcg/vfp.decode similarity index 100% rename from target/arm/vfp.decode rename to target/arm/tcg/vfp.decode --=20 2.35.3