target/riscv: Don't overwrite the reset vector
authorAlistair Francis <alistair.francis@wdc.com>
Tue, 19 May 2020 18:04:12 +0000 (11:04 -0700)
committerAlistair Francis <alistair.francis@wdc.com>
Wed, 3 Jun 2020 16:11:51 +0000 (09:11 -0700)
The reset vector is set in the init function don't set it again in
realize.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
target/riscv/cpu.c

index eeb91f85138d8b93cc01a1380b84d576b78c2eaa..55a180edf9fa7210f7f2256c6e0f558061f34bbd 100644 (file)
@@ -133,6 +133,7 @@ static void riscv_base32_cpu_init(Object *obj)
     CPURISCVState *env = &RISCV_CPU(obj)->env;
     /* We set this in the realise function */
     set_misa(env, 0);
+    set_resetvec(env, DEFAULT_RSTVEC);
 }
 
 static void rv32gcsu_priv1_10_0_cpu_init(Object *obj)
@@ -170,6 +171,7 @@ static void riscv_base64_cpu_init(Object *obj)
     CPURISCVState *env = &RISCV_CPU(obj)->env;
     /* We set this in the realise function */
     set_misa(env, 0);
+    set_resetvec(env, DEFAULT_RSTVEC);
 }
 
 static void rv64gcsu_priv1_10_0_cpu_init(Object *obj)
@@ -377,7 +379,6 @@ static void riscv_cpu_realize(DeviceState *dev, Error **errp)
     }
 
     set_priv_version(env, priv_version);
-    set_resetvec(env, DEFAULT_RSTVEC);
 
     if (cpu->cfg.mmu) {
         set_feature(env, RISCV_FEATURE_MMU);