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: Philippe Mathieu-Daudé
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH v2 0/2] hw/arm/exynos4: Add DMA support for SMDKC210 board
Date: Wed, 31 Oct 2018 17:00:43 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1

On 31/10/18 12:20, address@hidden wrote:
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make address@hidden SHOW_ENV=1 J=8
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
 From https://github.com/patchew-project/qemu
  t [tag update]            patchew/address@hidden -> patchew/address@hidden
Switched to a new branch 'test'
17c45854c8 arm: exynos4: Add dma support for smdkc210
8c077ecece hw/arm/xilinx_zynq: Use the ARRAY_SIZE macro

=== OUTPUT BEGIN ===
[...]> /tmp/qemu-test/src/tests/libqtest.c:125: kill_qemu() detected QEMU death from signal 11 (Segmentation fault) (core dumped)

Program terminated with signal SIGSEGV, Segmentation fault.
#0  qemu_set_irq (irq=0x7070707070707070, level=1) at qemu/hw/core/irq.c:45
45          irq->handler(irq->opaque, irq->n, level);
[Current thread is 1 (Thread 0x7f1e02629640 (LWP 5756))]

(gdb) bt
#0 0x0000556eecf2ae1a in qemu_set_irq (irq=0x7070707070707070, level=1) at qemu/hw/core/irq.c:45 #1 0x0000556eecf2af98 in qemu_set_irq (level=1, irq=0x556eee8256b0) at qemu/hw/core/irq.c:45 #2 0x0000556eecf2af98 in qemu_irq_raise (irq=0x556eee8256b0) at qemu/include/hw/irq.h:16 #3 0x0000556eecf2af98 in qemu_irq_invert (irq=0x556eee8256b0) at qemu/hw/core/irq.c:105 #4 0x0000556eecd9a7ed in exynos4210_init (system_mem=0x556eee546c00) at qemu/hw/arm/exynos4210.c:432 #5 0x0000556eecd87fb7 in exynos4_boards_init_common (machine=<optimized out>, address@hidden) at qemu/hw/arm/exynos4_boards.c:155 #6 0x0000556eecd88070 in smdkc210_init (machine=<optimized out>) at qemu/hw/arm/exynos4_boards.c:169 #7 0x0000556eecf2df2b in machine_run_board_init (machine=0x556eee4c7710) at qemu/hw/core/machine.c:834 #8 0x0000556eecc7664f in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at qemu/vl.c:4503

(gdb) fr 1
#1 0x00005566eb1dbfc7 in qemu_set_irq (level=1, irq=0x556eee8256b0) at qemu/hw/core/irq.c:47
47          irq->handler(irq->opaque, irq->n, level);

(gdb) p *irq
$2 = {parent_obj = {class = 0x5566ed477c10, free = 0x7f38e31ef530 <g_free>, Python Exception <class 'gdb.error'> There is no member named keys.: properties = 0x5566ed7a7d80, ref = 1, parent = 0x0}, handler = 0x5566eafdbcd0 <exynos4210_irq_handler>,
  opaque = 0x5566ed5bd660, n = 281}


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) ||
---



reply via email to

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