From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqhMP-0005Rg-7m for qemu-devel@nongnu.org; Thu, 14 Apr 2016 09:31:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aqhMJ-000679-L6 for qemu-devel@nongnu.org; Thu, 14 Apr 2016 09:31:05 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:33746) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqhMJ-00066T-EQ for qemu-devel@nongnu.org; Thu, 14 Apr 2016 09:30:59 -0400 Received: by mail-wm0-x243.google.com with SMTP id y144so22874255wmd.0 for ; Thu, 14 Apr 2016 06:30:59 -0700 (PDT) References: <570F93E9.1050204@gmail.com> From: Inti Gonzalez-Herrera Message-ID: <570F9B91.6040503@gmail.com> Date: Thu, 14 Apr 2016 15:30:57 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] IRQ number used by virtio-net-device in vexpress-a15 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: QEMU Developers On 14/04/16 15:19, Peter Maydell wrote: > On 14 April 2016 at 13:58, Inti Gonzalez-Herrera 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 > > thanks > -- PMM