[Top][All Lists]

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

Re: [Qemu-devel] IRQ number used by virtio-net-device in vexpress-a15

From: Inti Gonzalez-Herrera
Subject: Re: [Qemu-devel] IRQ number used by virtio-net-device in vexpress-a15
Date: Thu, 14 Apr 2016 15:30:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 14/04/16 15:19, Peter Maydell wrote:
On 14 April 2016 at 13:58, Inti Gonzalez-Herrera <address@hidden> wrote:
I have some problems using virtio-net-device. In particular, th system is
not receiving an interrupt when it transmits a package. However, I can see
how the buffer descriptors are moved to the used ring. I was thinking that
maybe the problem is related to the fact that I don't know what is the exact
IRQ number.

In other words, let's say that I have a function enable_irq(int, handler)
that enables a given interrupt in the GIC. What is the number n that I
should used as parameter in this platform?

Right now, I'm using the value (40 + k), where k is the index of the
specific transporter where the network device is attached (from 0 to 3). It
is not working.
I get that information from file hw/arm/vexpress.c, functions
vexpress_common_init  and vexpress_modify_dtb (this one is not executed)
Problems with interrupt numbers are almost always related to confusion
about whether the interrupt number starts with the 0 as the first
external interrupt, or 0 as the first internal interrupt (where 0..31
are SGIs and PPIs, and the first external (SPI) interrupt is 32).
The '40 + k' in the vexpress.c source code is an external interrupt
number (in which numbering scheme the PL011 UARTs are interrupts 5 to 8,
and the sp804 timer is interrupt 48, if that helps you cross-check
against some other devices in your OS which do have working interrupts).
yeah, that solved the issue.
Thanks a lot

-- PMM

reply via email to

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