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: Peter Maydell
Subject: Re: gicv3 maintenance interrupt not triggering
Date: Tue, 22 Sep 2020 21:29:41 +0100

On Tue, 22 Sep 2020 at 20:02, Jose Martins <josemartins90@gmail.com> wrote:
> I'm using qemu aarch64 virt platform to run my hypervisor. However,
> the gicv3 maintenance interrupts (id 25) does not trigger. I'm reading
> these values off the gic for the cpu in question:
>
> gich.hcr = 0xd
> gich.misr = 0xd
> gich.eisr = 0xf
> gicr.ispendr0 = 0x0
>
> I think that for this gich state, I should be reading a pending state
> for the maintenance interrupt in the redistributor pending registers.
> I will try out the same code in real hardware asap to confirm there's
> no issue with the driver. But does somebody have any clues on what
> might be the problem?

You might like to (a) enable some or all the QEMU gicv3 trace events to
see if they provide any insight into what the emulated GIC is doing when
your guest prods it, and/or (b) run QEMU under a debugger and look at what
it is doing in gicv3_cpuif_virt_update() (and in particular when it
calls maintenance_interrupt_state()) to see what it thinks it
is setting the maintenance interrupt line to.

Given the MISR and HCR values you quote I would also check that
you've set up the maintenance interrupt itself correctly, ie that
it isn't disabled or similar such that the GIC asserts it but
nothing happens.

(You don't say what QEMU version you're using or what command line
you use to start QEMU -- those are both always useful information
for "I'm trying to do something with QEMU and it's not working"
queries...)

thanks
-- PMM



reply via email to

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