summary refs log tree commit diff stats
path: root/hw/sparc
diff options
context:
space:
mode:
authorClément Chigot <chigot@adacore.com>2024-01-31 09:50:44 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-02-15 16:58:46 +0100
commit92688a91c35852e7492d718d7872a6bc725ddff4 (patch)
tree38bbaee09995f4418b3a7cb6c8d577a63213ea40 /hw/sparc
parentc92948f22b0ef62d7b5a6a73e943a110f761273b (diff)
downloadfocaccia-qemu-92688a91c35852e7492d718d7872a6bc725ddff4.tar.gz
focaccia-qemu-92688a91c35852e7492d718d7872a6bc725ddff4.zip
hw/sparc/leon3: remove SP initialization
According to the doc (see §4.2.15 in [1]), the reset operation should
not impact %SP.

[1] https://gaisler.com/doc/gr712rc-usermanual.pdf

Signed-off-by: Clément Chigot <chigot@adacore.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240131085047.18458-7-chigot@adacore.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw/sparc')
-rw-r--r--hw/sparc/leon3.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c
index 3f86b74ba4..46fc1e783a 100644
--- a/hw/sparc/leon3.c
+++ b/hw/sparc/leon3.c
@@ -69,7 +69,6 @@
 typedef struct ResetData {
     SPARCCPU *cpu;
     uint32_t  entry;            /* save kernel entry in case of reset */
-    target_ulong sp;            /* initial stack pointer */
 } ResetData;
 
 static uint32_t *gen_store_u32(uint32_t *code, hwaddr addr, uint32_t val)
@@ -135,7 +134,6 @@ static void main_cpu_reset(void *opaque)
     cpu->halted = 0;
     env->pc     = s->entry;
     env->npc    = s->entry + 4;
-    env->regbase[6] = s->sp;
 }
 
 static void leon3_cache_control_int(CPUSPARCState *env)
@@ -246,7 +244,6 @@ static void leon3_generic_hw_init(MachineState *machine)
     /* Reset data */
     reset_info        = g_new0(ResetData, 1);
     reset_info->cpu   = cpu;
-    reset_info->sp    = LEON3_RAM_OFFSET + ram_size;
     qemu_register_reset(main_cpu_reset, reset_info);
 
     ahb_pnp = GRLIB_AHB_PNP(qdev_new(TYPE_GRLIB_AHB_PNP));