diff mbox series

dma/rc4030: correctly reset DMA translation table at reset

Message ID 20191222172913.10419-1-hpoussin@reactos.org
State New
Headers show
Series dma/rc4030: correctly reset DMA translation table at reset | expand

Commit Message

Hervé Poussineau Dec. 22, 2019, 5:29 p.m. UTC
This fixes a freeze at reboot, introduced in c627e7526a902dd5bb1907dbbd5cf961679dfa68

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
 hw/dma/rc4030.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Aleksandar Markovic Dec. 23, 2019, 8:26 a.m. UTC | #1
On Sunday, December 22, 2019, Hervé Poussineau <hpoussin@reactos.org> wrote:

> This fixes a freeze at reboot, introduced in c627e7526a902dd5bb1907dbbd5cf9
> 61679dfa68
>
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
> ---
>  hw/dma/rc4030.c | 1 +
>  1 file changed, 1 insertion(+)
>
>
Hi, Herve,

Very good that you found the fix, but I would really appreciate if you
provide the details on repro procedure.

One more thing, does this have anything to do eith the Finn's attempt to
start Jazz machine with:

Quote:

I tried to boot NetBSD/arc but failed. I got a blue screen when I typed
"cd:boot" at the "Run A Program" prompt in the ARC menu.

$ ln -s NTPROM.RAW mipsel_bios.bin
$ mips64el-softmmu/qemu-system-mips64el -M magnum -L .
-drive if=scsi,unit=2,media=cdrom,format=raw,file=NetBSD-8.1-arc.iso
-global ds1225y.filename=nvram -global ds1225y.size=8200
qemu-system-mips64el: g364: invalid read at [0000000000102000]
$

Best regards,
Alekssndar


diff --git a/hw/dma/rc4030.c b/hw/dma/rc4030.c
> index c4cf8236f4..76302fe431 100644
> --- a/hw/dma/rc4030.c
> +++ b/hw/dma/rc4030.c
> @@ -534,6 +534,7 @@ static void rc4030_reset(DeviceState *dev)
>
>      memset(s->dma_regs, 0, sizeof(s->dma_regs));
>
> +    s->dma_tl_base = s->dma_tl_limit = 0;
>      s->remote_failed_address = s->memory_failed_address = 0;
>      s->cache_maint = 0;
>      s->cache_ptag = s->cache_ltag = 0;
> --
> 2.19.2
>
>
>
diff mbox series

Patch

diff --git a/hw/dma/rc4030.c b/hw/dma/rc4030.c
index c4cf8236f4..76302fe431 100644
--- a/hw/dma/rc4030.c
+++ b/hw/dma/rc4030.c
@@ -534,6 +534,7 @@  static void rc4030_reset(DeviceState *dev)
 
     memset(s->dma_regs, 0, sizeof(s->dma_regs));
 
+    s->dma_tl_base = s->dma_tl_limit = 0;
     s->remote_failed_address = s->memory_failed_address = 0;
     s->cache_maint = 0;
     s->cache_ptag = s->cache_ltag = 0;