summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2025-09-16 07:22:11 -0700
committerPeter Maydell <peter.maydell@linaro.org>2025-09-25 15:42:34 +0100
commit45fc665f8be54c7defc16016eb02d0aff8ac832e (patch)
tree963d21d0a161b8b6a795e6776cd7796577803c2e
parentacf2b6e6b96890cf0becd9fd17288d8e8b37394c (diff)
downloadfocaccia-qemu-45fc665f8be54c7defc16016eb02d0aff8ac832e.tar.gz
focaccia-qemu-45fc665f8be54c7defc16016eb02d0aff8ac832e.zip
target/arm: Use raw_write in cp_reg_reset
Reduce the places that know about field types by 1.

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target/arm/cpu.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index c65af7e761..91ae56dddb 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -192,14 +192,8 @@ static void cp_reg_reset(gpointer key, gpointer value, gpointer opaque)
      * This is basically only used for fields in non-core coprocessors
      * (like the pxa2xx ones).
      */
-    if (!ri->fieldoffset) {
-        return;
-    }
-
-    if (cpreg_field_is_64bit(ri)) {
-        CPREG_FIELD64(&cpu->env, ri) = ri->resetvalue;
-    } else {
-        CPREG_FIELD32(&cpu->env, ri) = ri->resetvalue;
+    if (ri->fieldoffset) {
+        raw_write(&cpu->env, ri, ri->resetvalue);
     }
 }