diff options
author | Gihun Nam <gihun.nam@outlook.com> | 2023-11-27 11:54:20 +0900 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-11-28 14:27:12 +0100 |
commit | 235948bf53860a1e2df5134eae7b0a30a971a124 (patch) | |
tree | abc0a352dbd85063b3a0abae1b99b1198e513949 /hw | |
parent | 0ed083a1bcdbdfe77ded69b3524ad22d120fae03 (diff) | |
download | qemu-235948bf53860a1e2df5134eae7b0a30a971a124.zip qemu-235948bf53860a1e2df5134eae7b0a30a971a124.tar.gz qemu-235948bf53860a1e2df5134eae7b0a30a971a124.tar.bz2 |
hw/avr/atmega: Fix wrong initial value of stack pointer
The current implementation initializes the stack pointer of AVR devices
to 0. Although older AVR devices used to be like that, newer ones set
it to RAMEND.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1525
Signed-off-by: Gihun Nam <gihun.nam@outlook.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <PH0P222MB0010877445B594724D40C924DEBDA@PH0P222MB0010.NAMP222.PROD.OUTLOOK.COM>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/avr/atmega.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c index a34803e..31c8992 100644 --- a/hw/avr/atmega.c +++ b/hw/avr/atmega.c @@ -233,6 +233,10 @@ static void atmega_realize(DeviceState *dev, Error **errp) /* CPU */ object_initialize_child(OBJECT(dev), "cpu", &s->cpu, mc->cpu_type); + + object_property_set_uint(OBJECT(&s->cpu), "init-sp", + mc->io_size + mc->sram_size - 1, &error_abort); + qdev_realize(DEVICE(&s->cpu), NULL, &error_abort); cpudev = DEVICE(&s->cpu); |