]> Git Repo - qemu.git/commitdiff
arm: store the config_base_register during cpu_reset
authorMark Langsdorf <[email protected]>
Wed, 25 Jan 2012 11:49:46 +0000 (11:49 +0000)
committerPeter Maydell <[email protected]>
Wed, 25 Jan 2012 11:49:46 +0000 (11:49 +0000)
Long term, the config_base_register will be a QDM parameter. In the
meantime, models that use it need to be able to preserve it across
cpu_reset() calls.

Signed-off-by: Mark Langsdorf <[email protected]>
Signed-off-by: Peter Maydell <[email protected]>
target-arm/helper.c

index f6e998b0f79e58511ca1eac56d1c9fd6eee7b100..22e40fc924bff95373b0550f27f5f50d4ce33e0c 100644 (file)
@@ -255,6 +255,7 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id)
 void cpu_reset(CPUARMState *env)
 {
     uint32_t id;
+    uint32_t tmp = 0;
 
     if (qemu_loglevel_mask(CPU_LOG_RESET)) {
         qemu_log("CPU Reset (CPU %d)\n", env->cpu_index);
@@ -262,9 +263,11 @@ void cpu_reset(CPUARMState *env)
     }
 
     id = env->cp15.c0_cpuid;
+    tmp = env->cp15.c15_config_base_address;
     memset(env, 0, offsetof(CPUARMState, breakpoints));
     if (id)
         cpu_reset_model_id(env, id);
+    env->cp15.c15_config_base_address = tmp;
 #if defined (CONFIG_USER_ONLY)
     env->uncached_cpsr = ARM_CPU_MODE_USR;
     /* For user mode we must enable access to coprocessors */
This page took 0.030544 seconds and 4 git commands to generate.