target/arm: wrap call to aarch64_sve_change_el in tcg_enabled()
authorClaudio Fontana <cfontana@suse.de>
Mon, 13 Feb 2023 20:29:02 +0000 (17:29 -0300)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 16 Feb 2023 16:08:38 +0000 (16:08 +0000)
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/helper.c

index 2d38c3ed7aaa9bf38fb0593f7427b66fa35d91e4..07d410036545fcb85c2a84866a83d41f396d16ba 100644 (file)
@@ -10827,11 +10827,13 @@ static void arm_cpu_do_interrupt_aarch64(CPUState *cs)
     unsigned int cur_el = arm_current_el(env);
     int rt;
 
-    /*
-     * Note that new_el can never be 0.  If cur_el is 0, then
-     * el0_a64 is is_a64(), else el0_a64 is ignored.
-     */
-    aarch64_sve_change_el(env, cur_el, new_el, is_a64(env));
+    if (tcg_enabled()) {
+        /*
+         * Note that new_el can never be 0.  If cur_el is 0, then
+         * el0_a64 is is_a64(), else el0_a64 is ignored.
+         */
+        aarch64_sve_change_el(env, cur_el, new_el, is_a64(env));
+    }
 
     if (cur_el < new_el) {
         /*