qemu-arm
[Top][All Lists]
Advanced

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

Re: gicv3 maintenance interrupt not triggering


From: Jose Martins
Subject: Re: gicv3 maintenance interrupt not triggering
Date: Wed, 23 Sep 2020 16:55:18 +0100

I've tried to debug the issue this morning but I've hit a wall.

As I said in the previous email, the issue seems to be due to the fact
that cs->maintenance_irq is not initialized correctly and therefore
the call to qemu_set_irq for the maintenance interrupt in
gicv3_cpuif_virt_update has no effect. When this variable is
initialized in gicv3_init_cpuif using
cpu->gicv3_maintenance_interrupt, the latter was also not initialized
yet. From what I could understand this initialization is only achieved
in the call to qdev_connect_gpio_out_named which is only made later in
virt's create_gic function (using gdb I was able to figure out the
call to gicv3_init_cpuif is somewhere in the call graph of
sysbus_realize_and_unref for gicbusdev made earlier in create_gic).
I've tried a naive fix by changing the order of these initializations
in create_gic but this crashes qemu immediately. Given my limited
knowledge of qemu internals, I'm not able to figure out how to fix
this.

I'm not sure if this analysis is correct but would appreciate further
guidance on how to resolve this.

Btw, just to make sure, I've run pretty much the same code on an
imx8qm board and it works fine.

Thanks,
Jose


Jose

On Wed, 23 Sep 2020 at 10:44, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Wed, 23 Sep 2020 at 09:06, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> > On 9/22/20 10:46 PM, Jose Martins wrote:
> > > I've compiled QEMU 5.1.0 which I configured using: ./configure
> > > --target-list=aarch64-softmmu
> >
> > You can enable a trivial tracing backend (displaying trace events
> > to stderr) as suggested by Peter in (a) by adding
> > '--enable-trace-backends=log' to your ./configure.
>
> That does work, but it's much easier to use the -d trace:whatever
> suboptions, because those are always built in.
>
> thanks
> -- PMM



reply via email to

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