[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/2] hw/arm/exynos4: Add DMA support for SMDK
From: |
Peter Maydell |
Subject: |
Re: [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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 0/2] hw/arm/exynos4: Add DMA support for SMDKC210 board,
Peter Maydell <=