qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v12 24/65] target/arm: move arm_sctlr away from tcg helpers


From: Richard Henderson
Subject: Re: [RFC v12 24/65] target/arm: move arm_sctlr away from tcg helpers
Date: Sun, 28 Mar 2021 10:12:58 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1

On 3/26/21 1:36 PM, Claudio Fontana wrote:
this function is used for kvm too, add it to the
cpu-common module.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
---
  target/arm/cpu-common.c | 15 +++++++++++++++
  target/arm/tcg/helper.c | 11 -----------
  2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/target/arm/cpu-common.c b/target/arm/cpu-common.c
index a34f7f19d8..892e075298 100644
--- a/target/arm/cpu-common.c
+++ b/target/arm/cpu-common.c
@@ -342,3 +342,18 @@ uint32_t sve_zcr_len_for_el(CPUARMState *env, int el)
  }
/* #endif TARGET_AARCH64 , see matching comment above */
+
+uint64_t arm_sctlr(CPUARMState *env, int el)
+{
+    /* Only EL0 needs to be adjusted for EL1&0 or EL2&0. */
+    if (el == 0) {
+#ifdef TARGET_AARCH64
+        ARMMMUIdx mmu_idx = arm_mmu_idx_el(env, 0);
+        el = (mmu_idx == ARMMMUIdx_E20_0 || mmu_idx == ARMMMUIdx_SE20_0)
+            ? 2 : 1;
+#else
+        el = 1;
+#endif /* TARGET_AARCH64 */
+    }

My comment was merely an observation; I'm not sure it's a good idea. And you should never make this functional change while moving code.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]