qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fabiano Rosas <farosas@suse.de>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, "Peter Maydell" <peter.maydell@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Claudio Fontana" <cfontana@suse.de>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Alexander Graf" <agraf@csgraf.de>,
	"Cornelia Huck" <cohuck@redhat.com>
Subject: [PATCH RESEND v5 14/28] target/arm: Move regime_using_lpae_format into internal.h
Date: Mon, 13 Feb 2023 17:29:13 -0300	[thread overview]
Message-ID: <20230213202927.28992-15-farosas@suse.de> (raw)
In-Reply-To: <20230213202927.28992-1-farosas@suse.de>

This function is needed by common code (ptw.c), so move it along with
the other regime_* functions in internal.h. When we enable the build
without TCG, the tlb_helper.c file will not be present.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 target/arm/internals.h      | 21 ++++++++++++++++++---
 target/arm/tcg/tlb_helper.c | 18 ------------------
 2 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/target/arm/internals.h b/target/arm/internals.h
index 880b97be0d..4aa3bf974e 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -614,9 +614,6 @@ ARMMMUIdx arm_v7m_mmu_idx_for_secstate_and_priv(CPUARMState *env,
 /* Return the MMU index for a v7M CPU in the specified security state */
 ARMMMUIdx arm_v7m_mmu_idx_for_secstate(CPUARMState *env, bool secstate);
 
-/* Return true if the translation regime is using LPAE format page tables */
-bool regime_using_lpae_format(CPUARMState *env, ARMMMUIdx mmu_idx);
-
 /*
  * Return true if the stage 1 translation regime is using LPAE
  * format page tables
@@ -781,6 +778,24 @@ static inline uint64_t regime_tcr(CPUARMState *env, ARMMMUIdx mmu_idx)
     return env->cp15.tcr_el[regime_el(env, mmu_idx)];
 }
 
+/* Return true if the translation regime is using LPAE format page tables */
+static inline bool regime_using_lpae_format(CPUARMState *env, ARMMMUIdx mmu_idx)
+{
+    int el = regime_el(env, mmu_idx);
+    if (el == 2 || arm_el_is_aa64(env, el)) {
+        return true;
+    }
+    if (arm_feature(env, ARM_FEATURE_PMSA) &&
+        arm_feature(env, ARM_FEATURE_V8)) {
+        return true;
+    }
+    if (arm_feature(env, ARM_FEATURE_LPAE)
+        && (regime_tcr(env, mmu_idx) & TTBCR_EAE)) {
+        return true;
+    }
+    return false;
+}
+
 /**
  * arm_num_brps: Return number of implemented breakpoints.
  * Note that the ID register BRPS field is "number of bps - 1",
diff --git a/target/arm/tcg/tlb_helper.c b/target/arm/tcg/tlb_helper.c
index 60abcbebe6..31eb77f7df 100644
--- a/target/arm/tcg/tlb_helper.c
+++ b/target/arm/tcg/tlb_helper.c
@@ -12,24 +12,6 @@
 #include "exec/helper-proto.h"
 
 
-/* Return true if the translation regime is using LPAE format page tables */
-bool regime_using_lpae_format(CPUARMState *env, ARMMMUIdx mmu_idx)
-{
-    int el = regime_el(env, mmu_idx);
-    if (el == 2 || arm_el_is_aa64(env, el)) {
-        return true;
-    }
-    if (arm_feature(env, ARM_FEATURE_PMSA) &&
-        arm_feature(env, ARM_FEATURE_V8)) {
-        return true;
-    }
-    if (arm_feature(env, ARM_FEATURE_LPAE)
-        && (regime_tcr(env, mmu_idx) & TTBCR_EAE)) {
-        return true;
-    }
-    return false;
-}
-
 /*
  * Returns true if the stage 1 translation regime is using LPAE format page
  * tables. Used when raising alignment exceptions, whose FSR changes depending
-- 
2.35.3



  parent reply	other threads:[~2023-02-13 20:36 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-13 20:28 [PATCH RESEND v5 00/28] target/arm: Allow CONFIG_TCG=n builds Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 01/28] target/arm: rename handle_semihosting to tcg_handle_semihosting Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 02/28] target/arm: wrap psci call with tcg_enabled Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 03/28] target/arm: wrap call to aarch64_sve_change_el in tcg_enabled() Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 04/28] target/arm: Move PC alignment check Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 05/28] target/arm: Move cpregs code out of cpu.h Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 06/28] target/arm: Move cpregs code into cpregs.c Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 07/28] target/arm: Move define_debug_regs() to cpregs.c Fabiano Rosas
2023-02-16 16:22   ` Peter Maydell
2023-02-13 20:29 ` [PATCH RESEND v5 08/28] target/arm: Wrap breakpoint/watchpoint updates with tcg_enabled Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 09/28] target/arm: move translate modules to tcg/ Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 10/28] target/arm: move helpers " Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 11/28] target/arm: Move psci.c into the tcg directory Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 12/28] target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 13/28] target/arm: Move hflags code into the tcg directory Fabiano Rosas
2023-02-13 20:29 ` Fabiano Rosas [this message]
2023-02-13 20:29 ` [PATCH RESEND v5 15/28] target/arm: Don't access TCG code when debugging with KVM Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 16/28] cpu-defs.h: Expose CPUTLBEntryFull to non-TCG code Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 17/28] target/arm: Move cortex sysregs into cpregs.c Fabiano Rosas
2023-02-16 16:24   ` Peter Maydell
2023-02-13 20:29 ` [PATCH RESEND v5 18/28] tests/avocado: Skip tests that require a missing accelerator Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 19/28] tests/avocado: Tag TCG tests with accel:tcg Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 20/28] target/arm: Move 64-bit TCG CPUs into tcg/ Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 21/28] target/arm: move cpu_tcg to tcg/cpu32.c Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 22/28] target/arm: Use "max" as default cpu for the virt machine with KVM Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 23/28] tests/qtest: arm-cpu-features: Match tests to required accelerators Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 24/28] tests/qtest: Restrict tpm-tis-devices-{swtpm}-test to CONFIG_TCG Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 25/28] target/avocado: Pass parameters to migration test on aarch64 Fabiano Rosas
2023-02-16 16:32   ` Peter Maydell
2023-02-13 20:29 ` [PATCH RESEND v5 26/28] arm/Kconfig: Always select SEMIHOSTING when TCG is present Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 27/28] arm/Kconfig: Do not build TCG-only boards on a KVM-only build Fabiano Rosas
2023-02-13 20:29 ` [PATCH RESEND v5 28/28] gitlab-ci: Check building KVM-only aarch64 target Fabiano Rosas
2023-02-16 16:19 ` [PATCH RESEND v5 00/28] target/arm: Allow CONFIG_TCG=n builds Peter Maydell
2023-02-16 16:30   ` Peter Maydell
2023-02-16 16:47   ` Fabiano Rosas
2023-02-16 17:22     ` Peter Maydell
2023-02-16 19:21     ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230213202927.28992-15-farosas@suse.de \
    --to=farosas@suse.de \
    --cc=agraf@csgraf.de \
    --cc=alex.bennee@linaro.org \
    --cc=cfontana@suse.de \
    --cc=cohuck@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).