qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [Qemu-devel] [PATCH v2 0/2] hw/arm/exynos4: Add DMA suppo


From: Peter Maydell
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH v2 0/2] hw/arm/exynos4: Add DMA support for SMDKC210 board
Date: Thu, 1 Nov 2018 17:18:40 +0000

On 31 October 2018 at 16:00, Philippe Mathieu-Daudé <address@hidden> wrote:
>
> The following patch fixes this crash, but I'm not sure this is the correct
> fix:
>
> -- >8 --
> --- a/hw/intc/exynos4210_gic.c
> +++ b/hw/intc/exynos4210_gic.c
> @@ -213,6 +213,8 @@ void exynos4210_init_board_irqs(Exynos4210Irq *s)
>  {
>      uint32_t grp, bit, irq_id, n;
>
> +    memset(s->board_irqs, 0, sizeof(s->board_irqs));
> +
>      for (n = 0; n < EXYNOS4210_MAX_EXT_COMBINER_IN_IRQ; n++) {
>          irq_id = 0;
>          if (n == EXYNOS4210_COMBINER_GET_IRQ_NUM(1, 4) ||

Generally devices should be able to assume that their state
structures are zero-initialized. In this case this memory
comes from
    Exynos4210State *s = g_new(Exynos4210State, 1);
in exynos4210_init().

So the quick fix for 3.1 would be to make that use g_new0().

Longer term, the code in hw/arm/exynos4210.c is implementing
an SoC, but it is not doing it in what is (now) the standard
way of having the SoC be a device object which contains all
the relevant SoC device objects. Making it work like that
would mean that the memory for the state struct would naturally
be zeroed out because it would be allocated by the functions
for "create me a QOM object or device".

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]